diff --git a/CHANGELOG.md b/CHANGELOG.md index ef478f16cf90..1c7db02be874 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # CHANGELOG +## `v43.3.0` + +### New Packages + +| Package Name | API Version | +| -----------: | :---------: | +| accesscontrol | 2020-02-01-preview | +| artifacts | 2019-06-01-preview | +| spark | 2019-11-01-preview | + +### Updated Packages + +| Package Name | API Version | +| -----------: | :---------: | +| synapse | 2019-06-01-preview | + ## `v43.2.0` ### New Packages diff --git a/profiles/preview/preview/synapse/accesscontrol/accesscontrolapi/models.go b/profiles/preview/preview/synapse/accesscontrol/accesscontrolapi/models.go new file mode 100644 index 000000000000..28b0110c1ca3 --- /dev/null +++ b/profiles/preview/preview/synapse/accesscontrol/accesscontrolapi/models.go @@ -0,0 +1,24 @@ +// +build go1.9 + +// Copyright 2020 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package accesscontrolapi + +import original "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2020-02-01-preview/accesscontrol/accesscontrolapi" + +type ClientAPI = original.ClientAPI diff --git a/profiles/preview/preview/synapse/accesscontrol/models.go b/profiles/preview/preview/synapse/accesscontrol/models.go new file mode 100644 index 000000000000..415c21fe150c --- /dev/null +++ b/profiles/preview/preview/synapse/accesscontrol/models.go @@ -0,0 +1,62 @@ +// +build go1.9 + +// Copyright 2020 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package accesscontrol + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2020-02-01-preview/accesscontrol" +) + +type BaseClient = original.BaseClient +type Client = original.Client +type ErrorContract = original.ErrorContract +type ErrorDetail = original.ErrorDetail +type ErrorResponse = original.ErrorResponse +type ListRoleAssignmentDetails = original.ListRoleAssignmentDetails +type ListString = original.ListString +type RoleAssignmentDetails = original.RoleAssignmentDetails +type RoleAssignmentOptions = original.RoleAssignmentOptions +type RolesListResponse = original.RolesListResponse +type RolesListResponseIterator = original.RolesListResponseIterator +type RolesListResponsePage = original.RolesListResponsePage +type SynapseRole = original.SynapseRole + +func New(endpoint string) BaseClient { + return original.New(endpoint) +} +func NewClient(endpoint string) Client { + return original.NewClient(endpoint) +} +func NewRolesListResponseIterator(page RolesListResponsePage) RolesListResponseIterator { + return original.NewRolesListResponseIterator(page) +} +func NewRolesListResponsePage(getNextPage func(context.Context, RolesListResponse) (RolesListResponse, error)) RolesListResponsePage { + return original.NewRolesListResponsePage(getNextPage) +} +func NewWithoutDefaults(endpoint string) BaseClient { + return original.NewWithoutDefaults(endpoint) +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/preview/synapse/artifacts/artifactsapi/models.go b/profiles/preview/preview/synapse/artifacts/artifactsapi/models.go new file mode 100644 index 000000000000..b9c1819e8e3d --- /dev/null +++ b/profiles/preview/preview/synapse/artifacts/artifactsapi/models.go @@ -0,0 +1,34 @@ +// +build go1.9 + +// Copyright 2020 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package artifactsapi + +import original "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-06-01-preview/artifacts/artifactsapi" + +type DataFlowClientAPI = original.DataFlowClientAPI +type DataFlowDebugSessionClientAPI = original.DataFlowDebugSessionClientAPI +type DatasetClientAPI = original.DatasetClientAPI +type LinkedServiceClientAPI = original.LinkedServiceClientAPI +type NotebookClientAPI = original.NotebookClientAPI +type PipelineClientAPI = original.PipelineClientAPI +type PipelineRunClientAPI = original.PipelineRunClientAPI +type SQLScriptClientAPI = original.SQLScriptClientAPI +type SparkJobDefinitionClientAPI = original.SparkJobDefinitionClientAPI +type TriggerClientAPI = original.TriggerClientAPI +type TriggerRunClientAPI = original.TriggerRunClientAPI diff --git a/profiles/preview/preview/synapse/artifacts/models.go b/profiles/preview/preview/synapse/artifacts/models.go new file mode 100644 index 000000000000..ba8e3485ed9e --- /dev/null +++ b/profiles/preview/preview/synapse/artifacts/models.go @@ -0,0 +1,2311 @@ +// +build go1.9 + +// Copyright 2020 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package artifacts + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-06-01-preview/artifacts" +) + +type AuthenticationType = original.AuthenticationType + +const ( + AuthenticationTypeAnonymous AuthenticationType = original.AuthenticationTypeAnonymous + AuthenticationTypeBasic AuthenticationType = original.AuthenticationTypeBasic + AuthenticationTypeClientCertificate AuthenticationType = original.AuthenticationTypeClientCertificate + AuthenticationTypeWebLinkedServiceTypeProperties AuthenticationType = original.AuthenticationTypeWebLinkedServiceTypeProperties +) + +type AvroCompressionCodec = original.AvroCompressionCodec + +const ( + Bzip2 AvroCompressionCodec = original.Bzip2 + Deflate AvroCompressionCodec = original.Deflate + None AvroCompressionCodec = original.None + Snappy AvroCompressionCodec = original.Snappy + Xz AvroCompressionCodec = original.Xz +) + +type AzureFunctionActivityMethod = original.AzureFunctionActivityMethod + +const ( + DELETE AzureFunctionActivityMethod = original.DELETE + GET AzureFunctionActivityMethod = original.GET + HEAD AzureFunctionActivityMethod = original.HEAD + OPTIONS AzureFunctionActivityMethod = original.OPTIONS + POST AzureFunctionActivityMethod = original.POST + PUT AzureFunctionActivityMethod = original.PUT + TRACE AzureFunctionActivityMethod = original.TRACE +) + +type AzureSearchIndexWriteBehaviorType = original.AzureSearchIndexWriteBehaviorType + +const ( + Merge AzureSearchIndexWriteBehaviorType = original.Merge + Upload AzureSearchIndexWriteBehaviorType = original.Upload +) + +type BlobEventTypes = original.BlobEventTypes + +const ( + MicrosoftStorageBlobCreated BlobEventTypes = original.MicrosoftStorageBlobCreated + MicrosoftStorageBlobDeleted BlobEventTypes = original.MicrosoftStorageBlobDeleted +) + +type CassandraSourceReadConsistencyLevels = original.CassandraSourceReadConsistencyLevels + +const ( + ALL CassandraSourceReadConsistencyLevels = original.ALL + EACHQUORUM CassandraSourceReadConsistencyLevels = original.EACHQUORUM + LOCALONE CassandraSourceReadConsistencyLevels = original.LOCALONE + LOCALQUORUM CassandraSourceReadConsistencyLevels = original.LOCALQUORUM + LOCALSERIAL CassandraSourceReadConsistencyLevels = original.LOCALSERIAL + ONE CassandraSourceReadConsistencyLevels = original.ONE + QUORUM CassandraSourceReadConsistencyLevels = original.QUORUM + SERIAL CassandraSourceReadConsistencyLevels = original.SERIAL + THREE CassandraSourceReadConsistencyLevels = original.THREE + TWO CassandraSourceReadConsistencyLevels = original.TWO +) + +type CellOutputType = original.CellOutputType + +const ( + DisplayData CellOutputType = original.DisplayData + Error CellOutputType = original.Error + ExecuteResult CellOutputType = original.ExecuteResult + Stream CellOutputType = original.Stream +) + +type DataFlowComputeType = original.DataFlowComputeType + +const ( + ComputeOptimized DataFlowComputeType = original.ComputeOptimized + General DataFlowComputeType = original.General + MemoryOptimized DataFlowComputeType = original.MemoryOptimized +) + +type DatasetCompressionLevel = original.DatasetCompressionLevel + +const ( + Fastest DatasetCompressionLevel = original.Fastest + Optimal DatasetCompressionLevel = original.Optimal +) + +type DayOfWeek = original.DayOfWeek + +const ( + Friday DayOfWeek = original.Friday + Monday DayOfWeek = original.Monday + Saturday DayOfWeek = original.Saturday + Sunday DayOfWeek = original.Sunday + Thursday DayOfWeek = original.Thursday + Tuesday DayOfWeek = original.Tuesday + Wednesday DayOfWeek = original.Wednesday +) + +type DaysOfWeek = original.DaysOfWeek + +const ( + DaysOfWeekFriday DaysOfWeek = original.DaysOfWeekFriday + DaysOfWeekMonday DaysOfWeek = original.DaysOfWeekMonday + DaysOfWeekSaturday DaysOfWeek = original.DaysOfWeekSaturday + DaysOfWeekSunday DaysOfWeek = original.DaysOfWeekSunday + DaysOfWeekThursday DaysOfWeek = original.DaysOfWeekThursday + DaysOfWeekTuesday DaysOfWeek = original.DaysOfWeekTuesday + DaysOfWeekWednesday DaysOfWeek = original.DaysOfWeekWednesday +) + +type Db2AuthenticationType = original.Db2AuthenticationType + +const ( + Basic Db2AuthenticationType = original.Basic +) + +type DelimitedTextCompressionCodec = original.DelimitedTextCompressionCodec + +const ( + DelimitedTextCompressionCodecBzip2 DelimitedTextCompressionCodec = original.DelimitedTextCompressionCodecBzip2 + DelimitedTextCompressionCodecDeflate DelimitedTextCompressionCodec = original.DelimitedTextCompressionCodecDeflate + DelimitedTextCompressionCodecGzip DelimitedTextCompressionCodec = original.DelimitedTextCompressionCodecGzip + DelimitedTextCompressionCodecLz4 DelimitedTextCompressionCodec = original.DelimitedTextCompressionCodecLz4 + DelimitedTextCompressionCodecSnappy DelimitedTextCompressionCodec = original.DelimitedTextCompressionCodecSnappy + DelimitedTextCompressionCodecZipDeflate DelimitedTextCompressionCodec = original.DelimitedTextCompressionCodecZipDeflate +) + +type DependencyCondition = original.DependencyCondition + +const ( + Completed DependencyCondition = original.Completed + Failed DependencyCondition = original.Failed + Skipped DependencyCondition = original.Skipped + Succeeded DependencyCondition = original.Succeeded +) + +type DynamicsAuthenticationType = original.DynamicsAuthenticationType + +const ( + AADServicePrincipal DynamicsAuthenticationType = original.AADServicePrincipal + Ifd DynamicsAuthenticationType = original.Ifd + Office365 DynamicsAuthenticationType = original.Office365 +) + +type DynamicsDeploymentType = original.DynamicsDeploymentType + +const ( + Online DynamicsDeploymentType = original.Online + OnPremisesWithIfd DynamicsDeploymentType = original.OnPremisesWithIfd +) + +type DynamicsServicePrincipalCredentialType = original.DynamicsServicePrincipalCredentialType + +const ( + ServicePrincipalCert DynamicsServicePrincipalCredentialType = original.ServicePrincipalCert + ServicePrincipalKey DynamicsServicePrincipalCredentialType = original.ServicePrincipalKey +) + +type EventSubscriptionStatus = original.EventSubscriptionStatus + +const ( + Deprovisioning EventSubscriptionStatus = original.Deprovisioning + Disabled EventSubscriptionStatus = original.Disabled + Enabled EventSubscriptionStatus = original.Enabled + Provisioning EventSubscriptionStatus = original.Provisioning + Unknown EventSubscriptionStatus = original.Unknown +) + +type FtpAuthenticationType = original.FtpAuthenticationType + +const ( + FtpAuthenticationTypeAnonymous FtpAuthenticationType = original.FtpAuthenticationTypeAnonymous + FtpAuthenticationTypeBasic FtpAuthenticationType = original.FtpAuthenticationTypeBasic +) + +type GoogleAdWordsAuthenticationType = original.GoogleAdWordsAuthenticationType + +const ( + ServiceAuthentication GoogleAdWordsAuthenticationType = original.ServiceAuthentication + UserAuthentication GoogleAdWordsAuthenticationType = original.UserAuthentication +) + +type GoogleBigQueryAuthenticationType = original.GoogleBigQueryAuthenticationType + +const ( + GoogleBigQueryAuthenticationTypeServiceAuthentication GoogleBigQueryAuthenticationType = original.GoogleBigQueryAuthenticationTypeServiceAuthentication + GoogleBigQueryAuthenticationTypeUserAuthentication GoogleBigQueryAuthenticationType = original.GoogleBigQueryAuthenticationTypeUserAuthentication +) + +type HBaseAuthenticationType = original.HBaseAuthenticationType + +const ( + HBaseAuthenticationTypeAnonymous HBaseAuthenticationType = original.HBaseAuthenticationTypeAnonymous + HBaseAuthenticationTypeBasic HBaseAuthenticationType = original.HBaseAuthenticationTypeBasic +) + +type HDInsightActivityDebugInfoOption = original.HDInsightActivityDebugInfoOption + +const ( + HDInsightActivityDebugInfoOptionAlways HDInsightActivityDebugInfoOption = original.HDInsightActivityDebugInfoOptionAlways + HDInsightActivityDebugInfoOptionFailure HDInsightActivityDebugInfoOption = original.HDInsightActivityDebugInfoOptionFailure + HDInsightActivityDebugInfoOptionNone HDInsightActivityDebugInfoOption = original.HDInsightActivityDebugInfoOptionNone +) + +type HTTPAuthenticationType = original.HTTPAuthenticationType + +const ( + HTTPAuthenticationTypeAnonymous HTTPAuthenticationType = original.HTTPAuthenticationTypeAnonymous + HTTPAuthenticationTypeBasic HTTPAuthenticationType = original.HTTPAuthenticationTypeBasic + HTTPAuthenticationTypeClientCertificate HTTPAuthenticationType = original.HTTPAuthenticationTypeClientCertificate + HTTPAuthenticationTypeDigest HTTPAuthenticationType = original.HTTPAuthenticationTypeDigest + HTTPAuthenticationTypeWindows HTTPAuthenticationType = original.HTTPAuthenticationTypeWindows +) + +type HdiNodeTypes = original.HdiNodeTypes + +const ( + Headnode HdiNodeTypes = original.Headnode + Workernode HdiNodeTypes = original.Workernode + Zookeeper HdiNodeTypes = original.Zookeeper +) + +type HiveAuthenticationType = original.HiveAuthenticationType + +const ( + Anonymous HiveAuthenticationType = original.Anonymous + Username HiveAuthenticationType = original.Username + UsernameAndPassword HiveAuthenticationType = original.UsernameAndPassword + WindowsAzureHDInsightService HiveAuthenticationType = original.WindowsAzureHDInsightService +) + +type HiveServerType = original.HiveServerType + +const ( + HiveServer1 HiveServerType = original.HiveServer1 + HiveServer2 HiveServerType = original.HiveServer2 + HiveThriftServer HiveServerType = original.HiveThriftServer +) + +type HiveThriftTransportProtocol = original.HiveThriftTransportProtocol + +const ( + Binary HiveThriftTransportProtocol = original.Binary + HTTP HiveThriftTransportProtocol = original.HTTP + SASL HiveThriftTransportProtocol = original.SASL +) + +type ImpalaAuthenticationType = original.ImpalaAuthenticationType + +const ( + ImpalaAuthenticationTypeAnonymous ImpalaAuthenticationType = original.ImpalaAuthenticationTypeAnonymous + ImpalaAuthenticationTypeSASLUsername ImpalaAuthenticationType = original.ImpalaAuthenticationTypeSASLUsername + ImpalaAuthenticationTypeUsernameAndPassword ImpalaAuthenticationType = original.ImpalaAuthenticationTypeUsernameAndPassword +) + +type JSONWriteFilePattern = original.JSONWriteFilePattern + +const ( + ArrayOfObjects JSONWriteFilePattern = original.ArrayOfObjects + SetOfObjects JSONWriteFilePattern = original.SetOfObjects +) + +type MongoDbAuthenticationType = original.MongoDbAuthenticationType + +const ( + MongoDbAuthenticationTypeAnonymous MongoDbAuthenticationType = original.MongoDbAuthenticationTypeAnonymous + MongoDbAuthenticationTypeBasic MongoDbAuthenticationType = original.MongoDbAuthenticationTypeBasic +) + +type NetezzaPartitionOption = original.NetezzaPartitionOption + +const ( + NetezzaPartitionOptionDataSlice NetezzaPartitionOption = original.NetezzaPartitionOptionDataSlice + NetezzaPartitionOptionDynamicRange NetezzaPartitionOption = original.NetezzaPartitionOptionDynamicRange + NetezzaPartitionOptionNone NetezzaPartitionOption = original.NetezzaPartitionOptionNone +) + +type ODataAadServicePrincipalCredentialType = original.ODataAadServicePrincipalCredentialType + +const ( + ODataAadServicePrincipalCredentialTypeServicePrincipalCert ODataAadServicePrincipalCredentialType = original.ODataAadServicePrincipalCredentialTypeServicePrincipalCert + ODataAadServicePrincipalCredentialTypeServicePrincipalKey ODataAadServicePrincipalCredentialType = original.ODataAadServicePrincipalCredentialTypeServicePrincipalKey +) + +type ODataAuthenticationType = original.ODataAuthenticationType + +const ( + ODataAuthenticationTypeAadServicePrincipal ODataAuthenticationType = original.ODataAuthenticationTypeAadServicePrincipal + ODataAuthenticationTypeAnonymous ODataAuthenticationType = original.ODataAuthenticationTypeAnonymous + ODataAuthenticationTypeBasic ODataAuthenticationType = original.ODataAuthenticationTypeBasic + ODataAuthenticationTypeManagedServiceIdentity ODataAuthenticationType = original.ODataAuthenticationTypeManagedServiceIdentity + ODataAuthenticationTypeWindows ODataAuthenticationType = original.ODataAuthenticationTypeWindows +) + +type OraclePartitionOption = original.OraclePartitionOption + +const ( + OraclePartitionOptionDynamicRange OraclePartitionOption = original.OraclePartitionOptionDynamicRange + OraclePartitionOptionNone OraclePartitionOption = original.OraclePartitionOptionNone + OraclePartitionOptionPhysicalPartitionsOfTable OraclePartitionOption = original.OraclePartitionOptionPhysicalPartitionsOfTable +) + +type OrcCompressionCodec = original.OrcCompressionCodec + +const ( + OrcCompressionCodecNone OrcCompressionCodec = original.OrcCompressionCodecNone + OrcCompressionCodecSnappy OrcCompressionCodec = original.OrcCompressionCodecSnappy + OrcCompressionCodecZlib OrcCompressionCodec = original.OrcCompressionCodecZlib +) + +type ParameterType = original.ParameterType + +const ( + ParameterTypeArray ParameterType = original.ParameterTypeArray + ParameterTypeBool ParameterType = original.ParameterTypeBool + ParameterTypeFloat ParameterType = original.ParameterTypeFloat + ParameterTypeInt ParameterType = original.ParameterTypeInt + ParameterTypeObject ParameterType = original.ParameterTypeObject + ParameterTypeSecureString ParameterType = original.ParameterTypeSecureString + ParameterTypeString ParameterType = original.ParameterTypeString +) + +type ParquetCompressionCodec = original.ParquetCompressionCodec + +const ( + ParquetCompressionCodecGzip ParquetCompressionCodec = original.ParquetCompressionCodecGzip + ParquetCompressionCodecLzo ParquetCompressionCodec = original.ParquetCompressionCodecLzo + ParquetCompressionCodecNone ParquetCompressionCodec = original.ParquetCompressionCodecNone + ParquetCompressionCodecSnappy ParquetCompressionCodec = original.ParquetCompressionCodecSnappy +) + +type PhoenixAuthenticationType = original.PhoenixAuthenticationType + +const ( + PhoenixAuthenticationTypeAnonymous PhoenixAuthenticationType = original.PhoenixAuthenticationTypeAnonymous + PhoenixAuthenticationTypeUsernameAndPassword PhoenixAuthenticationType = original.PhoenixAuthenticationTypeUsernameAndPassword + PhoenixAuthenticationTypeWindowsAzureHDInsightService PhoenixAuthenticationType = original.PhoenixAuthenticationTypeWindowsAzureHDInsightService +) + +type PluginCurrentState = original.PluginCurrentState + +const ( + Cleanup PluginCurrentState = original.Cleanup + Ended PluginCurrentState = original.Ended + Monitoring PluginCurrentState = original.Monitoring + Preparation PluginCurrentState = original.Preparation + Queued PluginCurrentState = original.Queued + ResourceAcquisition PluginCurrentState = original.ResourceAcquisition + Submission PluginCurrentState = original.Submission +) + +type PolybaseSettingsRejectType = original.PolybaseSettingsRejectType + +const ( + Percentage PolybaseSettingsRejectType = original.Percentage + Value PolybaseSettingsRejectType = original.Value +) + +type PrestoAuthenticationType = original.PrestoAuthenticationType + +const ( + PrestoAuthenticationTypeAnonymous PrestoAuthenticationType = original.PrestoAuthenticationTypeAnonymous + PrestoAuthenticationTypeLDAP PrestoAuthenticationType = original.PrestoAuthenticationTypeLDAP +) + +type RecurrenceFrequency = original.RecurrenceFrequency + +const ( + Day RecurrenceFrequency = original.Day + Hour RecurrenceFrequency = original.Hour + Minute RecurrenceFrequency = original.Minute + Month RecurrenceFrequency = original.Month + NotSpecified RecurrenceFrequency = original.NotSpecified + Week RecurrenceFrequency = original.Week + Year RecurrenceFrequency = original.Year +) + +type RestServiceAuthenticationType = original.RestServiceAuthenticationType + +const ( + RestServiceAuthenticationTypeAadServicePrincipal RestServiceAuthenticationType = original.RestServiceAuthenticationTypeAadServicePrincipal + RestServiceAuthenticationTypeAnonymous RestServiceAuthenticationType = original.RestServiceAuthenticationTypeAnonymous + RestServiceAuthenticationTypeBasic RestServiceAuthenticationType = original.RestServiceAuthenticationTypeBasic + RestServiceAuthenticationTypeManagedServiceIdentity RestServiceAuthenticationType = original.RestServiceAuthenticationTypeManagedServiceIdentity +) + +type RunQueryFilterOperand = original.RunQueryFilterOperand + +const ( + ActivityName RunQueryFilterOperand = original.ActivityName + ActivityRunEnd RunQueryFilterOperand = original.ActivityRunEnd + ActivityRunStart RunQueryFilterOperand = original.ActivityRunStart + ActivityType RunQueryFilterOperand = original.ActivityType + LatestOnly RunQueryFilterOperand = original.LatestOnly + PipelineName RunQueryFilterOperand = original.PipelineName + RunEnd RunQueryFilterOperand = original.RunEnd + RunGroupID RunQueryFilterOperand = original.RunGroupID + RunStart RunQueryFilterOperand = original.RunStart + Status RunQueryFilterOperand = original.Status + TriggerName RunQueryFilterOperand = original.TriggerName + TriggerRunTimestamp RunQueryFilterOperand = original.TriggerRunTimestamp +) + +type RunQueryFilterOperator = original.RunQueryFilterOperator + +const ( + Equals RunQueryFilterOperator = original.Equals + In RunQueryFilterOperator = original.In + NotEquals RunQueryFilterOperator = original.NotEquals + NotIn RunQueryFilterOperator = original.NotIn +) + +type RunQueryOrder = original.RunQueryOrder + +const ( + ASC RunQueryOrder = original.ASC + DESC RunQueryOrder = original.DESC +) + +type RunQueryOrderByField = original.RunQueryOrderByField + +const ( + RunQueryOrderByFieldActivityName RunQueryOrderByField = original.RunQueryOrderByFieldActivityName + RunQueryOrderByFieldActivityRunEnd RunQueryOrderByField = original.RunQueryOrderByFieldActivityRunEnd + RunQueryOrderByFieldActivityRunStart RunQueryOrderByField = original.RunQueryOrderByFieldActivityRunStart + RunQueryOrderByFieldPipelineName RunQueryOrderByField = original.RunQueryOrderByFieldPipelineName + RunQueryOrderByFieldRunEnd RunQueryOrderByField = original.RunQueryOrderByFieldRunEnd + RunQueryOrderByFieldRunStart RunQueryOrderByField = original.RunQueryOrderByFieldRunStart + RunQueryOrderByFieldStatus RunQueryOrderByField = original.RunQueryOrderByFieldStatus + RunQueryOrderByFieldTriggerName RunQueryOrderByField = original.RunQueryOrderByFieldTriggerName + RunQueryOrderByFieldTriggerRunTimestamp RunQueryOrderByField = original.RunQueryOrderByFieldTriggerRunTimestamp +) + +type SQLConnectionType = original.SQLConnectionType + +const ( + SQLOnDemand SQLConnectionType = original.SQLOnDemand + SQLPool SQLConnectionType = original.SQLPool +) + +type SQLScriptType = original.SQLScriptType + +const ( + SQLQuery SQLScriptType = original.SQLQuery +) + +type SalesforceSinkWriteBehavior = original.SalesforceSinkWriteBehavior + +const ( + Insert SalesforceSinkWriteBehavior = original.Insert + Upsert SalesforceSinkWriteBehavior = original.Upsert +) + +type SalesforceSourceReadBehavior = original.SalesforceSourceReadBehavior + +const ( + Query SalesforceSourceReadBehavior = original.Query + QueryAll SalesforceSourceReadBehavior = original.QueryAll +) + +type SapCloudForCustomerSinkWriteBehavior = original.SapCloudForCustomerSinkWriteBehavior + +const ( + SapCloudForCustomerSinkWriteBehaviorInsert SapCloudForCustomerSinkWriteBehavior = original.SapCloudForCustomerSinkWriteBehaviorInsert + SapCloudForCustomerSinkWriteBehaviorUpdate SapCloudForCustomerSinkWriteBehavior = original.SapCloudForCustomerSinkWriteBehaviorUpdate +) + +type SapHanaAuthenticationType = original.SapHanaAuthenticationType + +const ( + SapHanaAuthenticationTypeBasic SapHanaAuthenticationType = original.SapHanaAuthenticationTypeBasic + SapHanaAuthenticationTypeWindows SapHanaAuthenticationType = original.SapHanaAuthenticationTypeWindows +) + +type SapHanaPartitionOption = original.SapHanaPartitionOption + +const ( + SapHanaPartitionOptionNone SapHanaPartitionOption = original.SapHanaPartitionOptionNone + SapHanaPartitionOptionPhysicalPartitionsOfTable SapHanaPartitionOption = original.SapHanaPartitionOptionPhysicalPartitionsOfTable + SapHanaPartitionOptionSapHanaDynamicRange SapHanaPartitionOption = original.SapHanaPartitionOptionSapHanaDynamicRange +) + +type SapTablePartitionOption = original.SapTablePartitionOption + +const ( + SapTablePartitionOptionNone SapTablePartitionOption = original.SapTablePartitionOptionNone + SapTablePartitionOptionPartitionOnCalendarDate SapTablePartitionOption = original.SapTablePartitionOptionPartitionOnCalendarDate + SapTablePartitionOptionPartitionOnCalendarMonth SapTablePartitionOption = original.SapTablePartitionOptionPartitionOnCalendarMonth + SapTablePartitionOptionPartitionOnCalendarYear SapTablePartitionOption = original.SapTablePartitionOptionPartitionOnCalendarYear + SapTablePartitionOptionPartitionOnInt SapTablePartitionOption = original.SapTablePartitionOptionPartitionOnInt + SapTablePartitionOptionPartitionOnTime SapTablePartitionOption = original.SapTablePartitionOptionPartitionOnTime +) + +type SchedulerCurrentState = original.SchedulerCurrentState + +const ( + SchedulerCurrentStateEnded SchedulerCurrentState = original.SchedulerCurrentStateEnded + SchedulerCurrentStateQueued SchedulerCurrentState = original.SchedulerCurrentStateQueued + SchedulerCurrentStateScheduled SchedulerCurrentState = original.SchedulerCurrentStateScheduled +) + +type ServiceNowAuthenticationType = original.ServiceNowAuthenticationType + +const ( + ServiceNowAuthenticationTypeBasic ServiceNowAuthenticationType = original.ServiceNowAuthenticationTypeBasic + ServiceNowAuthenticationTypeOAuth2 ServiceNowAuthenticationType = original.ServiceNowAuthenticationTypeOAuth2 +) + +type SftpAuthenticationType = original.SftpAuthenticationType + +const ( + SftpAuthenticationTypeBasic SftpAuthenticationType = original.SftpAuthenticationTypeBasic + SftpAuthenticationTypeSSHPublicKey SftpAuthenticationType = original.SftpAuthenticationTypeSSHPublicKey +) + +type SparkAuthenticationType = original.SparkAuthenticationType + +const ( + SparkAuthenticationTypeAnonymous SparkAuthenticationType = original.SparkAuthenticationTypeAnonymous + SparkAuthenticationTypeUsername SparkAuthenticationType = original.SparkAuthenticationTypeUsername + SparkAuthenticationTypeUsernameAndPassword SparkAuthenticationType = original.SparkAuthenticationTypeUsernameAndPassword + SparkAuthenticationTypeWindowsAzureHDInsightService SparkAuthenticationType = original.SparkAuthenticationTypeWindowsAzureHDInsightService +) + +type SparkBatchJobResultType = original.SparkBatchJobResultType + +const ( + SparkBatchJobResultTypeCancelled SparkBatchJobResultType = original.SparkBatchJobResultTypeCancelled + SparkBatchJobResultTypeFailed SparkBatchJobResultType = original.SparkBatchJobResultTypeFailed + SparkBatchJobResultTypeSucceeded SparkBatchJobResultType = original.SparkBatchJobResultTypeSucceeded + SparkBatchJobResultTypeUncertain SparkBatchJobResultType = original.SparkBatchJobResultTypeUncertain +) + +type SparkErrorSource = original.SparkErrorSource + +const ( + SparkErrorSourceDependency SparkErrorSource = original.SparkErrorSourceDependency + SparkErrorSourceSystem SparkErrorSource = original.SparkErrorSourceSystem + SparkErrorSourceUnknown SparkErrorSource = original.SparkErrorSourceUnknown + SparkErrorSourceUser SparkErrorSource = original.SparkErrorSourceUser +) + +type SparkJobType = original.SparkJobType + +const ( + SparkBatch SparkJobType = original.SparkBatch + SparkSession SparkJobType = original.SparkSession +) + +type SparkServerType = original.SparkServerType + +const ( + SharkServer SparkServerType = original.SharkServer + SharkServer2 SparkServerType = original.SharkServer2 + SparkThriftServer SparkServerType = original.SparkThriftServer +) + +type SparkThriftTransportProtocol = original.SparkThriftTransportProtocol + +const ( + SparkThriftTransportProtocolBinary SparkThriftTransportProtocol = original.SparkThriftTransportProtocolBinary + SparkThriftTransportProtocolHTTP SparkThriftTransportProtocol = original.SparkThriftTransportProtocolHTTP + SparkThriftTransportProtocolSASL SparkThriftTransportProtocol = original.SparkThriftTransportProtocolSASL +) + +type SsisPackageLocationType = original.SsisPackageLocationType + +const ( + File SsisPackageLocationType = original.File + InlinePackage SsisPackageLocationType = original.InlinePackage + SSISDB SsisPackageLocationType = original.SSISDB +) + +type StoredProcedureParameterType = original.StoredProcedureParameterType + +const ( + Boolean StoredProcedureParameterType = original.Boolean + Date StoredProcedureParameterType = original.Date + Decimal StoredProcedureParameterType = original.Decimal + GUID StoredProcedureParameterType = original.GUID + Int StoredProcedureParameterType = original.Int + Int64 StoredProcedureParameterType = original.Int64 + String StoredProcedureParameterType = original.String +) + +type SybaseAuthenticationType = original.SybaseAuthenticationType + +const ( + SybaseAuthenticationTypeBasic SybaseAuthenticationType = original.SybaseAuthenticationTypeBasic + SybaseAuthenticationTypeWindows SybaseAuthenticationType = original.SybaseAuthenticationTypeWindows +) + +type TeradataAuthenticationType = original.TeradataAuthenticationType + +const ( + TeradataAuthenticationTypeBasic TeradataAuthenticationType = original.TeradataAuthenticationTypeBasic + TeradataAuthenticationTypeWindows TeradataAuthenticationType = original.TeradataAuthenticationTypeWindows +) + +type TeradataPartitionOption = original.TeradataPartitionOption + +const ( + TeradataPartitionOptionDynamicRange TeradataPartitionOption = original.TeradataPartitionOptionDynamicRange + TeradataPartitionOptionHash TeradataPartitionOption = original.TeradataPartitionOptionHash + TeradataPartitionOptionNone TeradataPartitionOption = original.TeradataPartitionOptionNone +) + +type TriggerRunStatus = original.TriggerRunStatus + +const ( + TriggerRunStatusFailed TriggerRunStatus = original.TriggerRunStatusFailed + TriggerRunStatusInprogress TriggerRunStatus = original.TriggerRunStatusInprogress + TriggerRunStatusSucceeded TriggerRunStatus = original.TriggerRunStatusSucceeded +) + +type TriggerRuntimeState = original.TriggerRuntimeState + +const ( + TriggerRuntimeStateDisabled TriggerRuntimeState = original.TriggerRuntimeStateDisabled + TriggerRuntimeStateStarted TriggerRuntimeState = original.TriggerRuntimeStateStarted + TriggerRuntimeStateStopped TriggerRuntimeState = original.TriggerRuntimeStateStopped +) + +type TumblingWindowFrequency = original.TumblingWindowFrequency + +const ( + TumblingWindowFrequencyHour TumblingWindowFrequency = original.TumblingWindowFrequencyHour + TumblingWindowFrequencyMinute TumblingWindowFrequency = original.TumblingWindowFrequencyMinute +) + +type Type = original.Type + +const ( + TypeAzureKeyVaultSecret Type = original.TypeAzureKeyVaultSecret + TypeSecretBase Type = original.TypeSecretBase + TypeSecureString Type = original.TypeSecureString +) + +type TypeBasicActivity = original.TypeBasicActivity + +const ( + TypeActivity TypeBasicActivity = original.TypeActivity + TypeAppendVariable TypeBasicActivity = original.TypeAppendVariable + TypeAzureDataExplorerCommand TypeBasicActivity = original.TypeAzureDataExplorerCommand + TypeAzureFunctionActivity TypeBasicActivity = original.TypeAzureFunctionActivity + TypeAzureMLBatchExecution TypeBasicActivity = original.TypeAzureMLBatchExecution + TypeAzureMLExecutePipeline TypeBasicActivity = original.TypeAzureMLExecutePipeline + TypeAzureMLUpdateResource TypeBasicActivity = original.TypeAzureMLUpdateResource + TypeContainer TypeBasicActivity = original.TypeContainer + TypeCopy TypeBasicActivity = original.TypeCopy + TypeCustom TypeBasicActivity = original.TypeCustom + TypeDatabricksNotebook TypeBasicActivity = original.TypeDatabricksNotebook + TypeDatabricksSparkJar TypeBasicActivity = original.TypeDatabricksSparkJar + TypeDatabricksSparkPython TypeBasicActivity = original.TypeDatabricksSparkPython + TypeDataLakeAnalyticsUSQL TypeBasicActivity = original.TypeDataLakeAnalyticsUSQL + TypeDelete TypeBasicActivity = original.TypeDelete + TypeExecuteDataFlow TypeBasicActivity = original.TypeExecuteDataFlow + TypeExecutePipeline TypeBasicActivity = original.TypeExecutePipeline + TypeExecuteSSISPackage TypeBasicActivity = original.TypeExecuteSSISPackage + TypeExecution TypeBasicActivity = original.TypeExecution + TypeFilter TypeBasicActivity = original.TypeFilter + TypeForEach TypeBasicActivity = original.TypeForEach + TypeGetMetadata TypeBasicActivity = original.TypeGetMetadata + TypeHDInsightHive TypeBasicActivity = original.TypeHDInsightHive + TypeHDInsightMapReduce TypeBasicActivity = original.TypeHDInsightMapReduce + TypeHDInsightPig TypeBasicActivity = original.TypeHDInsightPig + TypeHDInsightSpark TypeBasicActivity = original.TypeHDInsightSpark + TypeHDInsightStreaming TypeBasicActivity = original.TypeHDInsightStreaming + TypeIfCondition TypeBasicActivity = original.TypeIfCondition + TypeLookup TypeBasicActivity = original.TypeLookup + TypeSetVariable TypeBasicActivity = original.TypeSetVariable + TypeSQLServerStoredProcedure TypeBasicActivity = original.TypeSQLServerStoredProcedure + TypeSwitch TypeBasicActivity = original.TypeSwitch + TypeUntil TypeBasicActivity = original.TypeUntil + TypeValidation TypeBasicActivity = original.TypeValidation + TypeWait TypeBasicActivity = original.TypeWait + TypeWebActivity TypeBasicActivity = original.TypeWebActivity + TypeWebHook TypeBasicActivity = original.TypeWebHook +) + +type TypeBasicCopySink = original.TypeBasicCopySink + +const ( + TypeAvroSink TypeBasicCopySink = original.TypeAvroSink + TypeAzureBlobFSSink TypeBasicCopySink = original.TypeAzureBlobFSSink + TypeAzureDataExplorerSink TypeBasicCopySink = original.TypeAzureDataExplorerSink + TypeAzureDataLakeStoreSink TypeBasicCopySink = original.TypeAzureDataLakeStoreSink + TypeAzureMySQLSink TypeBasicCopySink = original.TypeAzureMySQLSink + TypeAzurePostgreSQLSink TypeBasicCopySink = original.TypeAzurePostgreSQLSink + TypeAzureQueueSink TypeBasicCopySink = original.TypeAzureQueueSink + TypeAzureSearchIndexSink TypeBasicCopySink = original.TypeAzureSearchIndexSink + TypeAzureSQLSink TypeBasicCopySink = original.TypeAzureSQLSink + TypeAzureTableSink TypeBasicCopySink = original.TypeAzureTableSink + TypeBinarySink TypeBasicCopySink = original.TypeBinarySink + TypeBlobSink TypeBasicCopySink = original.TypeBlobSink + TypeCommonDataServiceForAppsSink TypeBasicCopySink = original.TypeCommonDataServiceForAppsSink + TypeCopySink TypeBasicCopySink = original.TypeCopySink + TypeCosmosDbMongoDbAPISink TypeBasicCopySink = original.TypeCosmosDbMongoDbAPISink + TypeCosmosDbSQLAPISink TypeBasicCopySink = original.TypeCosmosDbSQLAPISink + TypeDelimitedTextSink TypeBasicCopySink = original.TypeDelimitedTextSink + TypeDocumentDbCollectionSink TypeBasicCopySink = original.TypeDocumentDbCollectionSink + TypeDynamicsCrmSink TypeBasicCopySink = original.TypeDynamicsCrmSink + TypeDynamicsSink TypeBasicCopySink = original.TypeDynamicsSink + TypeFileSystemSink TypeBasicCopySink = original.TypeFileSystemSink + TypeInformixSink TypeBasicCopySink = original.TypeInformixSink + TypeJSONSink TypeBasicCopySink = original.TypeJSONSink + TypeMicrosoftAccessSink TypeBasicCopySink = original.TypeMicrosoftAccessSink + TypeOdbcSink TypeBasicCopySink = original.TypeOdbcSink + TypeOracleSink TypeBasicCopySink = original.TypeOracleSink + TypeOrcSink TypeBasicCopySink = original.TypeOrcSink + TypeParquetSink TypeBasicCopySink = original.TypeParquetSink + TypeSalesforceServiceCloudSink TypeBasicCopySink = original.TypeSalesforceServiceCloudSink + TypeSalesforceSink TypeBasicCopySink = original.TypeSalesforceSink + TypeSapCloudForCustomerSink TypeBasicCopySink = original.TypeSapCloudForCustomerSink + TypeSQLDWSink TypeBasicCopySink = original.TypeSQLDWSink + TypeSQLMISink TypeBasicCopySink = original.TypeSQLMISink + TypeSQLServerSink TypeBasicCopySink = original.TypeSQLServerSink + TypeSQLSink TypeBasicCopySink = original.TypeSQLSink +) + +type TypeBasicCopySource = original.TypeBasicCopySource + +const ( + TypeAmazonMWSSource TypeBasicCopySource = original.TypeAmazonMWSSource + TypeAmazonRedshiftSource TypeBasicCopySource = original.TypeAmazonRedshiftSource + TypeAvroSource TypeBasicCopySource = original.TypeAvroSource + TypeAzureBlobFSSource TypeBasicCopySource = original.TypeAzureBlobFSSource + TypeAzureDataExplorerSource TypeBasicCopySource = original.TypeAzureDataExplorerSource + TypeAzureDataLakeStoreSource TypeBasicCopySource = original.TypeAzureDataLakeStoreSource + TypeAzureMariaDBSource TypeBasicCopySource = original.TypeAzureMariaDBSource + TypeAzureMySQLSource TypeBasicCopySource = original.TypeAzureMySQLSource + TypeAzurePostgreSQLSource TypeBasicCopySource = original.TypeAzurePostgreSQLSource + TypeAzureSQLSource TypeBasicCopySource = original.TypeAzureSQLSource + TypeAzureTableSource TypeBasicCopySource = original.TypeAzureTableSource + TypeBinarySource TypeBasicCopySource = original.TypeBinarySource + TypeBlobSource TypeBasicCopySource = original.TypeBlobSource + TypeCassandraSource TypeBasicCopySource = original.TypeCassandraSource + TypeCommonDataServiceForAppsSource TypeBasicCopySource = original.TypeCommonDataServiceForAppsSource + TypeConcurSource TypeBasicCopySource = original.TypeConcurSource + TypeCopySource TypeBasicCopySource = original.TypeCopySource + TypeCosmosDbMongoDbAPISource TypeBasicCopySource = original.TypeCosmosDbMongoDbAPISource + TypeCosmosDbSQLAPISource TypeBasicCopySource = original.TypeCosmosDbSQLAPISource + TypeCouchbaseSource TypeBasicCopySource = original.TypeCouchbaseSource + TypeDb2Source TypeBasicCopySource = original.TypeDb2Source + TypeDelimitedTextSource TypeBasicCopySource = original.TypeDelimitedTextSource + TypeDocumentDbCollectionSource TypeBasicCopySource = original.TypeDocumentDbCollectionSource + TypeDrillSource TypeBasicCopySource = original.TypeDrillSource + TypeDynamicsAXSource TypeBasicCopySource = original.TypeDynamicsAXSource + TypeDynamicsCrmSource TypeBasicCopySource = original.TypeDynamicsCrmSource + TypeDynamicsSource TypeBasicCopySource = original.TypeDynamicsSource + TypeEloquaSource TypeBasicCopySource = original.TypeEloquaSource + TypeFileSystemSource TypeBasicCopySource = original.TypeFileSystemSource + TypeGoogleAdWordsSource TypeBasicCopySource = original.TypeGoogleAdWordsSource + TypeGoogleBigQuerySource TypeBasicCopySource = original.TypeGoogleBigQuerySource + TypeGreenplumSource TypeBasicCopySource = original.TypeGreenplumSource + TypeHBaseSource TypeBasicCopySource = original.TypeHBaseSource + TypeHdfsSource TypeBasicCopySource = original.TypeHdfsSource + TypeHiveSource TypeBasicCopySource = original.TypeHiveSource + TypeHTTPSource TypeBasicCopySource = original.TypeHTTPSource + TypeHubspotSource TypeBasicCopySource = original.TypeHubspotSource + TypeImpalaSource TypeBasicCopySource = original.TypeImpalaSource + TypeInformixSource TypeBasicCopySource = original.TypeInformixSource + TypeJiraSource TypeBasicCopySource = original.TypeJiraSource + TypeJSONSource TypeBasicCopySource = original.TypeJSONSource + TypeMagentoSource TypeBasicCopySource = original.TypeMagentoSource + TypeMariaDBSource TypeBasicCopySource = original.TypeMariaDBSource + TypeMarketoSource TypeBasicCopySource = original.TypeMarketoSource + TypeMicrosoftAccessSource TypeBasicCopySource = original.TypeMicrosoftAccessSource + TypeMongoDbSource TypeBasicCopySource = original.TypeMongoDbSource + TypeMongoDbV2Source TypeBasicCopySource = original.TypeMongoDbV2Source + TypeMySQLSource TypeBasicCopySource = original.TypeMySQLSource + TypeNetezzaSource TypeBasicCopySource = original.TypeNetezzaSource + TypeODataSource TypeBasicCopySource = original.TypeODataSource + TypeOdbcSource TypeBasicCopySource = original.TypeOdbcSource + TypeOffice365Source TypeBasicCopySource = original.TypeOffice365Source + TypeOracleServiceCloudSource TypeBasicCopySource = original.TypeOracleServiceCloudSource + TypeOracleSource TypeBasicCopySource = original.TypeOracleSource + TypeOrcSource TypeBasicCopySource = original.TypeOrcSource + TypeParquetSource TypeBasicCopySource = original.TypeParquetSource + TypePaypalSource TypeBasicCopySource = original.TypePaypalSource + TypePhoenixSource TypeBasicCopySource = original.TypePhoenixSource + TypePostgreSQLSource TypeBasicCopySource = original.TypePostgreSQLSource + TypePrestoSource TypeBasicCopySource = original.TypePrestoSource + TypeQuickBooksSource TypeBasicCopySource = original.TypeQuickBooksSource + TypeRelationalSource TypeBasicCopySource = original.TypeRelationalSource + TypeResponsysSource TypeBasicCopySource = original.TypeResponsysSource + TypeRestSource TypeBasicCopySource = original.TypeRestSource + TypeSalesforceMarketingCloudSource TypeBasicCopySource = original.TypeSalesforceMarketingCloudSource + TypeSalesforceServiceCloudSource TypeBasicCopySource = original.TypeSalesforceServiceCloudSource + TypeSalesforceSource TypeBasicCopySource = original.TypeSalesforceSource + TypeSapBwSource TypeBasicCopySource = original.TypeSapBwSource + TypeSapCloudForCustomerSource TypeBasicCopySource = original.TypeSapCloudForCustomerSource + TypeSapEccSource TypeBasicCopySource = original.TypeSapEccSource + TypeSapHanaSource TypeBasicCopySource = original.TypeSapHanaSource + TypeSapOpenHubSource TypeBasicCopySource = original.TypeSapOpenHubSource + TypeSapTableSource TypeBasicCopySource = original.TypeSapTableSource + TypeServiceNowSource TypeBasicCopySource = original.TypeServiceNowSource + TypeShopifySource TypeBasicCopySource = original.TypeShopifySource + TypeSparkSource TypeBasicCopySource = original.TypeSparkSource + TypeSQLDWSource TypeBasicCopySource = original.TypeSQLDWSource + TypeSQLMISource TypeBasicCopySource = original.TypeSQLMISource + TypeSQLServerSource TypeBasicCopySource = original.TypeSQLServerSource + TypeSQLSource TypeBasicCopySource = original.TypeSQLSource + TypeSquareSource TypeBasicCopySource = original.TypeSquareSource + TypeSybaseSource TypeBasicCopySource = original.TypeSybaseSource + TypeTabularSource TypeBasicCopySource = original.TypeTabularSource + TypeTeradataSource TypeBasicCopySource = original.TypeTeradataSource + TypeVerticaSource TypeBasicCopySource = original.TypeVerticaSource + TypeWebSource TypeBasicCopySource = original.TypeWebSource + TypeXeroSource TypeBasicCopySource = original.TypeXeroSource + TypeZohoSource TypeBasicCopySource = original.TypeZohoSource +) + +type TypeBasicDataFlow = original.TypeBasicDataFlow + +const ( + TypeDataFlow TypeBasicDataFlow = original.TypeDataFlow + TypeMappingDataFlow TypeBasicDataFlow = original.TypeMappingDataFlow +) + +type TypeBasicDataset = original.TypeBasicDataset + +const ( + TypeAmazonMWSObject TypeBasicDataset = original.TypeAmazonMWSObject + TypeAmazonRedshiftTable TypeBasicDataset = original.TypeAmazonRedshiftTable + TypeAvro TypeBasicDataset = original.TypeAvro + TypeAzureDataExplorerTable TypeBasicDataset = original.TypeAzureDataExplorerTable + TypeAzureMariaDBTable TypeBasicDataset = original.TypeAzureMariaDBTable + TypeAzureMySQLTable TypeBasicDataset = original.TypeAzureMySQLTable + TypeAzurePostgreSQLTable TypeBasicDataset = original.TypeAzurePostgreSQLTable + TypeAzureSearchIndex TypeBasicDataset = original.TypeAzureSearchIndex + TypeAzureSQLDWTable TypeBasicDataset = original.TypeAzureSQLDWTable + TypeAzureSQLMITable TypeBasicDataset = original.TypeAzureSQLMITable + TypeAzureSQLTable TypeBasicDataset = original.TypeAzureSQLTable + TypeAzureTable TypeBasicDataset = original.TypeAzureTable + TypeBinary TypeBasicDataset = original.TypeBinary + TypeCassandraTable TypeBasicDataset = original.TypeCassandraTable + TypeCommonDataServiceForAppsEntity TypeBasicDataset = original.TypeCommonDataServiceForAppsEntity + TypeConcurObject TypeBasicDataset = original.TypeConcurObject + TypeCosmosDbMongoDbAPICollection TypeBasicDataset = original.TypeCosmosDbMongoDbAPICollection + TypeCosmosDbSQLAPICollection TypeBasicDataset = original.TypeCosmosDbSQLAPICollection + TypeCouchbaseTable TypeBasicDataset = original.TypeCouchbaseTable + TypeCustomDataset TypeBasicDataset = original.TypeCustomDataset + TypeDataset TypeBasicDataset = original.TypeDataset + TypeDb2Table TypeBasicDataset = original.TypeDb2Table + TypeDelimitedText TypeBasicDataset = original.TypeDelimitedText + TypeDocumentDbCollection TypeBasicDataset = original.TypeDocumentDbCollection + TypeDrillTable TypeBasicDataset = original.TypeDrillTable + TypeDynamicsAXResource TypeBasicDataset = original.TypeDynamicsAXResource + TypeDynamicsCrmEntity TypeBasicDataset = original.TypeDynamicsCrmEntity + TypeDynamicsEntity TypeBasicDataset = original.TypeDynamicsEntity + TypeEloquaObject TypeBasicDataset = original.TypeEloquaObject + TypeGoogleAdWordsObject TypeBasicDataset = original.TypeGoogleAdWordsObject + TypeGoogleBigQueryObject TypeBasicDataset = original.TypeGoogleBigQueryObject + TypeGreenplumTable TypeBasicDataset = original.TypeGreenplumTable + TypeHBaseObject TypeBasicDataset = original.TypeHBaseObject + TypeHiveObject TypeBasicDataset = original.TypeHiveObject + TypeHubspotObject TypeBasicDataset = original.TypeHubspotObject + TypeImpalaObject TypeBasicDataset = original.TypeImpalaObject + TypeInformixTable TypeBasicDataset = original.TypeInformixTable + TypeJiraObject TypeBasicDataset = original.TypeJiraObject + TypeJSON TypeBasicDataset = original.TypeJSON + TypeMagentoObject TypeBasicDataset = original.TypeMagentoObject + TypeMariaDBTable TypeBasicDataset = original.TypeMariaDBTable + TypeMarketoObject TypeBasicDataset = original.TypeMarketoObject + TypeMicrosoftAccessTable TypeBasicDataset = original.TypeMicrosoftAccessTable + TypeMongoDbCollection TypeBasicDataset = original.TypeMongoDbCollection + TypeMongoDbV2Collection TypeBasicDataset = original.TypeMongoDbV2Collection + TypeMySQLTable TypeBasicDataset = original.TypeMySQLTable + TypeNetezzaTable TypeBasicDataset = original.TypeNetezzaTable + TypeODataResource TypeBasicDataset = original.TypeODataResource + TypeOdbcTable TypeBasicDataset = original.TypeOdbcTable + TypeOffice365Table TypeBasicDataset = original.TypeOffice365Table + TypeOracleServiceCloudObject TypeBasicDataset = original.TypeOracleServiceCloudObject + TypeOracleTable TypeBasicDataset = original.TypeOracleTable + TypeOrc TypeBasicDataset = original.TypeOrc + TypeParquet TypeBasicDataset = original.TypeParquet + TypePaypalObject TypeBasicDataset = original.TypePaypalObject + TypePhoenixObject TypeBasicDataset = original.TypePhoenixObject + TypePostgreSQLTable TypeBasicDataset = original.TypePostgreSQLTable + TypePrestoObject TypeBasicDataset = original.TypePrestoObject + TypeQuickBooksObject TypeBasicDataset = original.TypeQuickBooksObject + TypeRelationalTable TypeBasicDataset = original.TypeRelationalTable + TypeResponsysObject TypeBasicDataset = original.TypeResponsysObject + TypeRestResource TypeBasicDataset = original.TypeRestResource + TypeSalesforceMarketingCloudObject TypeBasicDataset = original.TypeSalesforceMarketingCloudObject + TypeSalesforceObject TypeBasicDataset = original.TypeSalesforceObject + TypeSalesforceServiceCloudObject TypeBasicDataset = original.TypeSalesforceServiceCloudObject + TypeSapBwCube TypeBasicDataset = original.TypeSapBwCube + TypeSapCloudForCustomerResource TypeBasicDataset = original.TypeSapCloudForCustomerResource + TypeSapEccResource TypeBasicDataset = original.TypeSapEccResource + TypeSapHanaTable TypeBasicDataset = original.TypeSapHanaTable + TypeSapOpenHubTable TypeBasicDataset = original.TypeSapOpenHubTable + TypeSapTableResource TypeBasicDataset = original.TypeSapTableResource + TypeServiceNowObject TypeBasicDataset = original.TypeServiceNowObject + TypeShopifyObject TypeBasicDataset = original.TypeShopifyObject + TypeSparkObject TypeBasicDataset = original.TypeSparkObject + TypeSQLServerTable TypeBasicDataset = original.TypeSQLServerTable + TypeSquareObject TypeBasicDataset = original.TypeSquareObject + TypeSybaseTable TypeBasicDataset = original.TypeSybaseTable + TypeTeradataTable TypeBasicDataset = original.TypeTeradataTable + TypeVerticaTable TypeBasicDataset = original.TypeVerticaTable + TypeWebTable TypeBasicDataset = original.TypeWebTable + TypeXeroObject TypeBasicDataset = original.TypeXeroObject + TypeZohoObject TypeBasicDataset = original.TypeZohoObject +) + +type TypeBasicDatasetCompression = original.TypeBasicDatasetCompression + +const ( + TypeBZip2 TypeBasicDatasetCompression = original.TypeBZip2 + TypeDatasetCompression TypeBasicDatasetCompression = original.TypeDatasetCompression + TypeDeflate TypeBasicDatasetCompression = original.TypeDeflate + TypeGZip TypeBasicDatasetCompression = original.TypeGZip + TypeZipDeflate TypeBasicDatasetCompression = original.TypeZipDeflate +) + +type TypeBasicDatasetLocation = original.TypeBasicDatasetLocation + +const ( + TypeAmazonS3Location TypeBasicDatasetLocation = original.TypeAmazonS3Location + TypeAzureBlobFSLocation TypeBasicDatasetLocation = original.TypeAzureBlobFSLocation + TypeAzureBlobStorageLocation TypeBasicDatasetLocation = original.TypeAzureBlobStorageLocation + TypeAzureDataLakeStoreLocation TypeBasicDatasetLocation = original.TypeAzureDataLakeStoreLocation + TypeAzureFileStorageLocation TypeBasicDatasetLocation = original.TypeAzureFileStorageLocation + TypeDatasetLocation TypeBasicDatasetLocation = original.TypeDatasetLocation + TypeFileServerLocation TypeBasicDatasetLocation = original.TypeFileServerLocation + TypeFtpServerLocation TypeBasicDatasetLocation = original.TypeFtpServerLocation + TypeGoogleCloudStorageLocation TypeBasicDatasetLocation = original.TypeGoogleCloudStorageLocation + TypeHdfsLocation TypeBasicDatasetLocation = original.TypeHdfsLocation + TypeHTTPServerLocation TypeBasicDatasetLocation = original.TypeHTTPServerLocation + TypeSftpLocation TypeBasicDatasetLocation = original.TypeSftpLocation +) + +type TypeBasicDependencyReference = original.TypeBasicDependencyReference + +const ( + TypeDependencyReference TypeBasicDependencyReference = original.TypeDependencyReference + TypeSelfDependencyTumblingWindowTriggerReference TypeBasicDependencyReference = original.TypeSelfDependencyTumblingWindowTriggerReference + TypeTriggerDependencyReference TypeBasicDependencyReference = original.TypeTriggerDependencyReference + TypeTumblingWindowTriggerDependencyReference TypeBasicDependencyReference = original.TypeTumblingWindowTriggerDependencyReference +) + +type TypeBasicFormatReadSettings = original.TypeBasicFormatReadSettings + +const ( + TypeDelimitedTextReadSettings TypeBasicFormatReadSettings = original.TypeDelimitedTextReadSettings + TypeFormatReadSettings TypeBasicFormatReadSettings = original.TypeFormatReadSettings +) + +type TypeBasicFormatWriteSettings = original.TypeBasicFormatWriteSettings + +const ( + TypeAvroWriteSettings TypeBasicFormatWriteSettings = original.TypeAvroWriteSettings + TypeDelimitedTextWriteSettings TypeBasicFormatWriteSettings = original.TypeDelimitedTextWriteSettings + TypeFormatWriteSettings TypeBasicFormatWriteSettings = original.TypeFormatWriteSettings + TypeJSONWriteSettings TypeBasicFormatWriteSettings = original.TypeJSONWriteSettings +) + +type TypeBasicLinkedService = original.TypeBasicLinkedService + +const ( + TypeAmazonMWS TypeBasicLinkedService = original.TypeAmazonMWS + TypeAmazonRedshift TypeBasicLinkedService = original.TypeAmazonRedshift + TypeAmazonS3 TypeBasicLinkedService = original.TypeAmazonS3 + TypeAzureBatch TypeBasicLinkedService = original.TypeAzureBatch + TypeAzureBlobFS TypeBasicLinkedService = original.TypeAzureBlobFS + TypeAzureBlobStorage TypeBasicLinkedService = original.TypeAzureBlobStorage + TypeAzureDatabricks TypeBasicLinkedService = original.TypeAzureDatabricks + TypeAzureDataExplorer TypeBasicLinkedService = original.TypeAzureDataExplorer + TypeAzureDataLakeAnalytics TypeBasicLinkedService = original.TypeAzureDataLakeAnalytics + TypeAzureDataLakeStore TypeBasicLinkedService = original.TypeAzureDataLakeStore + TypeAzureFileStorage TypeBasicLinkedService = original.TypeAzureFileStorage + TypeAzureFunction TypeBasicLinkedService = original.TypeAzureFunction + TypeAzureKeyVault TypeBasicLinkedService = original.TypeAzureKeyVault + TypeAzureMariaDB TypeBasicLinkedService = original.TypeAzureMariaDB + TypeAzureML TypeBasicLinkedService = original.TypeAzureML + TypeAzureMLService TypeBasicLinkedService = original.TypeAzureMLService + TypeAzureMySQL TypeBasicLinkedService = original.TypeAzureMySQL + TypeAzurePostgreSQL TypeBasicLinkedService = original.TypeAzurePostgreSQL + TypeAzureSearch TypeBasicLinkedService = original.TypeAzureSearch + TypeAzureSQLDatabase TypeBasicLinkedService = original.TypeAzureSQLDatabase + TypeAzureSQLDW TypeBasicLinkedService = original.TypeAzureSQLDW + TypeAzureSQLMI TypeBasicLinkedService = original.TypeAzureSQLMI + TypeAzureStorage TypeBasicLinkedService = original.TypeAzureStorage + TypeAzureTableStorage TypeBasicLinkedService = original.TypeAzureTableStorage + TypeCassandra TypeBasicLinkedService = original.TypeCassandra + TypeCommonDataServiceForApps TypeBasicLinkedService = original.TypeCommonDataServiceForApps + TypeConcur TypeBasicLinkedService = original.TypeConcur + TypeCosmosDb TypeBasicLinkedService = original.TypeCosmosDb + TypeCosmosDbMongoDbAPI TypeBasicLinkedService = original.TypeCosmosDbMongoDbAPI + TypeCouchbase TypeBasicLinkedService = original.TypeCouchbase + TypeCustomDataSource TypeBasicLinkedService = original.TypeCustomDataSource + TypeDb2 TypeBasicLinkedService = original.TypeDb2 + TypeDrill TypeBasicLinkedService = original.TypeDrill + TypeDynamics TypeBasicLinkedService = original.TypeDynamics + TypeDynamicsAX TypeBasicLinkedService = original.TypeDynamicsAX + TypeDynamicsCrm TypeBasicLinkedService = original.TypeDynamicsCrm + TypeEloqua TypeBasicLinkedService = original.TypeEloqua + TypeFileServer TypeBasicLinkedService = original.TypeFileServer + TypeFtpServer TypeBasicLinkedService = original.TypeFtpServer + TypeGoogleAdWords TypeBasicLinkedService = original.TypeGoogleAdWords + TypeGoogleBigQuery TypeBasicLinkedService = original.TypeGoogleBigQuery + TypeGoogleCloudStorage TypeBasicLinkedService = original.TypeGoogleCloudStorage + TypeGreenplum TypeBasicLinkedService = original.TypeGreenplum + TypeHBase TypeBasicLinkedService = original.TypeHBase + TypeHdfs TypeBasicLinkedService = original.TypeHdfs + TypeHDInsight TypeBasicLinkedService = original.TypeHDInsight + TypeHDInsightOnDemand TypeBasicLinkedService = original.TypeHDInsightOnDemand + TypeHive TypeBasicLinkedService = original.TypeHive + TypeHTTPServer TypeBasicLinkedService = original.TypeHTTPServer + TypeHubspot TypeBasicLinkedService = original.TypeHubspot + TypeImpala TypeBasicLinkedService = original.TypeImpala + TypeInformix TypeBasicLinkedService = original.TypeInformix + TypeJira TypeBasicLinkedService = original.TypeJira + TypeLinkedService TypeBasicLinkedService = original.TypeLinkedService + TypeMagento TypeBasicLinkedService = original.TypeMagento + TypeMariaDB TypeBasicLinkedService = original.TypeMariaDB + TypeMarketo TypeBasicLinkedService = original.TypeMarketo + TypeMicrosoftAccess TypeBasicLinkedService = original.TypeMicrosoftAccess + TypeMongoDb TypeBasicLinkedService = original.TypeMongoDb + TypeMongoDbV2 TypeBasicLinkedService = original.TypeMongoDbV2 + TypeMySQL TypeBasicLinkedService = original.TypeMySQL + TypeNetezza TypeBasicLinkedService = original.TypeNetezza + TypeOData TypeBasicLinkedService = original.TypeOData + TypeOdbc TypeBasicLinkedService = original.TypeOdbc + TypeOffice365 TypeBasicLinkedService = original.TypeOffice365 + TypeOracle TypeBasicLinkedService = original.TypeOracle + TypeOracleServiceCloud TypeBasicLinkedService = original.TypeOracleServiceCloud + TypePaypal TypeBasicLinkedService = original.TypePaypal + TypePhoenix TypeBasicLinkedService = original.TypePhoenix + TypePostgreSQL TypeBasicLinkedService = original.TypePostgreSQL + TypePresto TypeBasicLinkedService = original.TypePresto + TypeQuickBooks TypeBasicLinkedService = original.TypeQuickBooks + TypeResponsys TypeBasicLinkedService = original.TypeResponsys + TypeRestService TypeBasicLinkedService = original.TypeRestService + TypeSalesforce TypeBasicLinkedService = original.TypeSalesforce + TypeSalesforceMarketingCloud TypeBasicLinkedService = original.TypeSalesforceMarketingCloud + TypeSalesforceServiceCloud TypeBasicLinkedService = original.TypeSalesforceServiceCloud + TypeSapBW TypeBasicLinkedService = original.TypeSapBW + TypeSapCloudForCustomer TypeBasicLinkedService = original.TypeSapCloudForCustomer + TypeSapEcc TypeBasicLinkedService = original.TypeSapEcc + TypeSapHana TypeBasicLinkedService = original.TypeSapHana + TypeSapOpenHub TypeBasicLinkedService = original.TypeSapOpenHub + TypeSapTable TypeBasicLinkedService = original.TypeSapTable + TypeServiceNow TypeBasicLinkedService = original.TypeServiceNow + TypeSftp TypeBasicLinkedService = original.TypeSftp + TypeShopify TypeBasicLinkedService = original.TypeShopify + TypeSpark TypeBasicLinkedService = original.TypeSpark + TypeSQLServer TypeBasicLinkedService = original.TypeSQLServer + TypeSquare TypeBasicLinkedService = original.TypeSquare + TypeSybase TypeBasicLinkedService = original.TypeSybase + TypeTeradata TypeBasicLinkedService = original.TypeTeradata + TypeVertica TypeBasicLinkedService = original.TypeVertica + TypeWeb TypeBasicLinkedService = original.TypeWeb + TypeXero TypeBasicLinkedService = original.TypeXero + TypeZoho TypeBasicLinkedService = original.TypeZoho +) + +type TypeBasicStoreReadSettings = original.TypeBasicStoreReadSettings + +const ( + TypeAmazonS3ReadSettings TypeBasicStoreReadSettings = original.TypeAmazonS3ReadSettings + TypeAzureBlobFSReadSettings TypeBasicStoreReadSettings = original.TypeAzureBlobFSReadSettings + TypeAzureBlobStorageReadSettings TypeBasicStoreReadSettings = original.TypeAzureBlobStorageReadSettings + TypeAzureDataLakeStoreReadSettings TypeBasicStoreReadSettings = original.TypeAzureDataLakeStoreReadSettings + TypeAzureFileStorageReadSettings TypeBasicStoreReadSettings = original.TypeAzureFileStorageReadSettings + TypeFileServerReadSettings TypeBasicStoreReadSettings = original.TypeFileServerReadSettings + TypeFtpReadSettings TypeBasicStoreReadSettings = original.TypeFtpReadSettings + TypeGoogleCloudStorageReadSettings TypeBasicStoreReadSettings = original.TypeGoogleCloudStorageReadSettings + TypeHdfsReadSettings TypeBasicStoreReadSettings = original.TypeHdfsReadSettings + TypeHTTPReadSettings TypeBasicStoreReadSettings = original.TypeHTTPReadSettings + TypeSftpReadSettings TypeBasicStoreReadSettings = original.TypeSftpReadSettings + TypeStoreReadSettings TypeBasicStoreReadSettings = original.TypeStoreReadSettings +) + +type TypeBasicStoreWriteSettings = original.TypeBasicStoreWriteSettings + +const ( + TypeAzureBlobFSWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureBlobFSWriteSettings + TypeAzureBlobStorageWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureBlobStorageWriteSettings + TypeAzureDataLakeStoreWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureDataLakeStoreWriteSettings + TypeFileServerWriteSettings TypeBasicStoreWriteSettings = original.TypeFileServerWriteSettings + TypeSftpWriteSettings TypeBasicStoreWriteSettings = original.TypeSftpWriteSettings + TypeStoreWriteSettings TypeBasicStoreWriteSettings = original.TypeStoreWriteSettings +) + +type TypeBasicTrigger = original.TypeBasicTrigger + +const ( + TypeBlobEventsTrigger TypeBasicTrigger = original.TypeBlobEventsTrigger + TypeBlobTrigger TypeBasicTrigger = original.TypeBlobTrigger + TypeChainingTrigger TypeBasicTrigger = original.TypeChainingTrigger + TypeMultiplePipelineTrigger TypeBasicTrigger = original.TypeMultiplePipelineTrigger + TypeRerunTumblingWindowTrigger TypeBasicTrigger = original.TypeRerunTumblingWindowTrigger + TypeScheduleTrigger TypeBasicTrigger = original.TypeScheduleTrigger + TypeTrigger TypeBasicTrigger = original.TypeTrigger + TypeTumblingWindowTrigger TypeBasicTrigger = original.TypeTumblingWindowTrigger +) + +type VariableType = original.VariableType + +const ( + VariableTypeArray VariableType = original.VariableTypeArray + VariableTypeBool VariableType = original.VariableTypeBool + VariableTypeBoolean VariableType = original.VariableTypeBoolean + VariableTypeString VariableType = original.VariableTypeString +) + +type WebActivityMethod = original.WebActivityMethod + +const ( + WebActivityMethodDELETE WebActivityMethod = original.WebActivityMethodDELETE + WebActivityMethodGET WebActivityMethod = original.WebActivityMethodGET + WebActivityMethodPOST WebActivityMethod = original.WebActivityMethodPOST + WebActivityMethodPUT WebActivityMethod = original.WebActivityMethodPUT +) + +type WebHookActivityMethod = original.WebHookActivityMethod + +const ( + WebHookActivityMethodPOST WebHookActivityMethod = original.WebHookActivityMethodPOST +) + +type Activity = original.Activity +type ActivityDependency = original.ActivityDependency +type ActivityPolicy = original.ActivityPolicy +type ActivityRun = original.ActivityRun +type ActivityRunsQueryResponse = original.ActivityRunsQueryResponse +type AddDataFlowToDebugSessionResponse = original.AddDataFlowToDebugSessionResponse +type AmazonMWSLinkedService = original.AmazonMWSLinkedService +type AmazonMWSLinkedServiceTypeProperties = original.AmazonMWSLinkedServiceTypeProperties +type AmazonMWSObjectDataset = original.AmazonMWSObjectDataset +type AmazonMWSSource = original.AmazonMWSSource +type AmazonRedshiftLinkedService = original.AmazonRedshiftLinkedService +type AmazonRedshiftLinkedServiceTypeProperties = original.AmazonRedshiftLinkedServiceTypeProperties +type AmazonRedshiftSource = original.AmazonRedshiftSource +type AmazonRedshiftTableDataset = original.AmazonRedshiftTableDataset +type AmazonRedshiftTableDatasetTypeProperties = original.AmazonRedshiftTableDatasetTypeProperties +type AmazonS3LinkedService = original.AmazonS3LinkedService +type AmazonS3LinkedServiceTypeProperties = original.AmazonS3LinkedServiceTypeProperties +type AmazonS3Location = original.AmazonS3Location +type AmazonS3ReadSettings = original.AmazonS3ReadSettings +type AppendVariableActivity = original.AppendVariableActivity +type AppendVariableActivityTypeProperties = original.AppendVariableActivityTypeProperties +type AvroDataset = original.AvroDataset +type AvroDatasetTypeProperties = original.AvroDatasetTypeProperties +type AvroSink = original.AvroSink +type AvroSource = original.AvroSource +type AvroWriteSettings = original.AvroWriteSettings +type AzureBatchLinkedService = original.AzureBatchLinkedService +type AzureBatchLinkedServiceTypeProperties = original.AzureBatchLinkedServiceTypeProperties +type AzureBlobFSLinkedService = original.AzureBlobFSLinkedService +type AzureBlobFSLinkedServiceTypeProperties = original.AzureBlobFSLinkedServiceTypeProperties +type AzureBlobFSLocation = original.AzureBlobFSLocation +type AzureBlobFSReadSettings = original.AzureBlobFSReadSettings +type AzureBlobFSSink = original.AzureBlobFSSink +type AzureBlobFSSource = original.AzureBlobFSSource +type AzureBlobFSWriteSettings = original.AzureBlobFSWriteSettings +type AzureBlobStorageLinkedService = original.AzureBlobStorageLinkedService +type AzureBlobStorageLinkedServiceTypeProperties = original.AzureBlobStorageLinkedServiceTypeProperties +type AzureBlobStorageLocation = original.AzureBlobStorageLocation +type AzureBlobStorageReadSettings = original.AzureBlobStorageReadSettings +type AzureBlobStorageWriteSettings = original.AzureBlobStorageWriteSettings +type AzureDataExplorerCommandActivity = original.AzureDataExplorerCommandActivity +type AzureDataExplorerCommandActivityTypeProperties = original.AzureDataExplorerCommandActivityTypeProperties +type AzureDataExplorerDatasetTypeProperties = original.AzureDataExplorerDatasetTypeProperties +type AzureDataExplorerLinkedService = original.AzureDataExplorerLinkedService +type AzureDataExplorerLinkedServiceTypeProperties = original.AzureDataExplorerLinkedServiceTypeProperties +type AzureDataExplorerSink = original.AzureDataExplorerSink +type AzureDataExplorerSource = original.AzureDataExplorerSource +type AzureDataExplorerTableDataset = original.AzureDataExplorerTableDataset +type AzureDataLakeAnalyticsLinkedService = original.AzureDataLakeAnalyticsLinkedService +type AzureDataLakeAnalyticsLinkedServiceTypeProperties = original.AzureDataLakeAnalyticsLinkedServiceTypeProperties +type AzureDataLakeStoreLinkedService = original.AzureDataLakeStoreLinkedService +type AzureDataLakeStoreLinkedServiceTypeProperties = original.AzureDataLakeStoreLinkedServiceTypeProperties +type AzureDataLakeStoreLocation = original.AzureDataLakeStoreLocation +type AzureDataLakeStoreReadSettings = original.AzureDataLakeStoreReadSettings +type AzureDataLakeStoreSink = original.AzureDataLakeStoreSink +type AzureDataLakeStoreSource = original.AzureDataLakeStoreSource +type AzureDataLakeStoreWriteSettings = original.AzureDataLakeStoreWriteSettings +type AzureDatabricksLinkedService = original.AzureDatabricksLinkedService +type AzureDatabricksLinkedServiceTypeProperties = original.AzureDatabricksLinkedServiceTypeProperties +type AzureFileStorageLinkedService = original.AzureFileStorageLinkedService +type AzureFileStorageLinkedServiceTypeProperties = original.AzureFileStorageLinkedServiceTypeProperties +type AzureFileStorageLocation = original.AzureFileStorageLocation +type AzureFileStorageReadSettings = original.AzureFileStorageReadSettings +type AzureFunctionActivity = original.AzureFunctionActivity +type AzureFunctionActivityTypeProperties = original.AzureFunctionActivityTypeProperties +type AzureFunctionLinkedService = original.AzureFunctionLinkedService +type AzureFunctionLinkedServiceTypeProperties = original.AzureFunctionLinkedServiceTypeProperties +type AzureKeyVaultLinkedService = original.AzureKeyVaultLinkedService +type AzureKeyVaultLinkedServiceTypeProperties = original.AzureKeyVaultLinkedServiceTypeProperties +type AzureKeyVaultSecretReference = original.AzureKeyVaultSecretReference +type AzureMLBatchExecutionActivity = original.AzureMLBatchExecutionActivity +type AzureMLBatchExecutionActivityTypeProperties = original.AzureMLBatchExecutionActivityTypeProperties +type AzureMLExecutePipelineActivity = original.AzureMLExecutePipelineActivity +type AzureMLExecutePipelineActivityTypeProperties = original.AzureMLExecutePipelineActivityTypeProperties +type AzureMLLinkedService = original.AzureMLLinkedService +type AzureMLLinkedServiceTypeProperties = original.AzureMLLinkedServiceTypeProperties +type AzureMLServiceLinkedService = original.AzureMLServiceLinkedService +type AzureMLServiceLinkedServiceTypeProperties = original.AzureMLServiceLinkedServiceTypeProperties +type AzureMLUpdateResourceActivity = original.AzureMLUpdateResourceActivity +type AzureMLUpdateResourceActivityTypeProperties = original.AzureMLUpdateResourceActivityTypeProperties +type AzureMLWebServiceFile = original.AzureMLWebServiceFile +type AzureMariaDBLinkedService = original.AzureMariaDBLinkedService +type AzureMariaDBLinkedServiceTypeProperties = original.AzureMariaDBLinkedServiceTypeProperties +type AzureMariaDBSource = original.AzureMariaDBSource +type AzureMariaDBTableDataset = original.AzureMariaDBTableDataset +type AzureMySQLLinkedService = original.AzureMySQLLinkedService +type AzureMySQLLinkedServiceTypeProperties = original.AzureMySQLLinkedServiceTypeProperties +type AzureMySQLSink = original.AzureMySQLSink +type AzureMySQLSource = original.AzureMySQLSource +type AzureMySQLTableDataset = original.AzureMySQLTableDataset +type AzureMySQLTableDatasetTypeProperties = original.AzureMySQLTableDatasetTypeProperties +type AzurePostgreSQLLinkedService = original.AzurePostgreSQLLinkedService +type AzurePostgreSQLLinkedServiceTypeProperties = original.AzurePostgreSQLLinkedServiceTypeProperties +type AzurePostgreSQLSink = original.AzurePostgreSQLSink +type AzurePostgreSQLSource = original.AzurePostgreSQLSource +type AzurePostgreSQLTableDataset = original.AzurePostgreSQLTableDataset +type AzurePostgreSQLTableDatasetTypeProperties = original.AzurePostgreSQLTableDatasetTypeProperties +type AzureQueueSink = original.AzureQueueSink +type AzureSQLDWLinkedService = original.AzureSQLDWLinkedService +type AzureSQLDWLinkedServiceTypeProperties = original.AzureSQLDWLinkedServiceTypeProperties +type AzureSQLDWTableDataset = original.AzureSQLDWTableDataset +type AzureSQLDWTableDatasetTypeProperties = original.AzureSQLDWTableDatasetTypeProperties +type AzureSQLDatabaseLinkedService = original.AzureSQLDatabaseLinkedService +type AzureSQLDatabaseLinkedServiceTypeProperties = original.AzureSQLDatabaseLinkedServiceTypeProperties +type AzureSQLMILinkedService = original.AzureSQLMILinkedService +type AzureSQLMILinkedServiceTypeProperties = original.AzureSQLMILinkedServiceTypeProperties +type AzureSQLMITableDataset = original.AzureSQLMITableDataset +type AzureSQLMITableDatasetTypeProperties = original.AzureSQLMITableDatasetTypeProperties +type AzureSQLSink = original.AzureSQLSink +type AzureSQLSource = original.AzureSQLSource +type AzureSQLTableDataset = original.AzureSQLTableDataset +type AzureSQLTableDatasetTypeProperties = original.AzureSQLTableDatasetTypeProperties +type AzureSearchIndexDataset = original.AzureSearchIndexDataset +type AzureSearchIndexDatasetTypeProperties = original.AzureSearchIndexDatasetTypeProperties +type AzureSearchIndexSink = original.AzureSearchIndexSink +type AzureSearchLinkedService = original.AzureSearchLinkedService +type AzureSearchLinkedServiceTypeProperties = original.AzureSearchLinkedServiceTypeProperties +type AzureStorageLinkedService = original.AzureStorageLinkedService +type AzureStorageLinkedServiceTypeProperties = original.AzureStorageLinkedServiceTypeProperties +type AzureTableDataset = original.AzureTableDataset +type AzureTableDatasetTypeProperties = original.AzureTableDatasetTypeProperties +type AzureTableSink = original.AzureTableSink +type AzureTableSource = original.AzureTableSource +type AzureTableStorageLinkedService = original.AzureTableStorageLinkedService +type BaseClient = original.BaseClient +type BasicActivity = original.BasicActivity +type BasicControlActivity = original.BasicControlActivity +type BasicCopySink = original.BasicCopySink +type BasicCopySource = original.BasicCopySource +type BasicDataFlow = original.BasicDataFlow +type BasicDataset = original.BasicDataset +type BasicDatasetCompression = original.BasicDatasetCompression +type BasicDatasetLocation = original.BasicDatasetLocation +type BasicDependencyReference = original.BasicDependencyReference +type BasicExecutionActivity = original.BasicExecutionActivity +type BasicFormatReadSettings = original.BasicFormatReadSettings +type BasicFormatWriteSettings = original.BasicFormatWriteSettings +type BasicLinkedService = original.BasicLinkedService +type BasicMultiplePipelineTrigger = original.BasicMultiplePipelineTrigger +type BasicSecretBase = original.BasicSecretBase +type BasicStoreReadSettings = original.BasicStoreReadSettings +type BasicStoreWriteSettings = original.BasicStoreWriteSettings +type BasicTabularSource = original.BasicTabularSource +type BasicTrigger = original.BasicTrigger +type BasicTriggerDependencyReference = original.BasicTriggerDependencyReference +type BasicWebLinkedServiceTypeProperties = original.BasicWebLinkedServiceTypeProperties +type BigDataPoolReference = original.BigDataPoolReference +type BinaryDataset = original.BinaryDataset +type BinaryDatasetTypeProperties = original.BinaryDatasetTypeProperties +type BinarySink = original.BinarySink +type BinarySource = original.BinarySource +type BlobEventsTrigger = original.BlobEventsTrigger +type BlobEventsTriggerTypeProperties = original.BlobEventsTriggerTypeProperties +type BlobSink = original.BlobSink +type BlobSource = original.BlobSource +type BlobTrigger = original.BlobTrigger +type BlobTriggerTypeProperties = original.BlobTriggerTypeProperties +type CassandraLinkedService = original.CassandraLinkedService +type CassandraLinkedServiceTypeProperties = original.CassandraLinkedServiceTypeProperties +type CassandraSource = original.CassandraSource +type CassandraTableDataset = original.CassandraTableDataset +type CassandraTableDatasetTypeProperties = original.CassandraTableDatasetTypeProperties +type ChainingTrigger = original.ChainingTrigger +type ChainingTriggerTypeProperties = original.ChainingTriggerTypeProperties +type CloudError = original.CloudError +type CloudErrorBody = original.CloudErrorBody +type CommonDataServiceForAppsEntityDataset = original.CommonDataServiceForAppsEntityDataset +type CommonDataServiceForAppsEntityDatasetTypeProperties = original.CommonDataServiceForAppsEntityDatasetTypeProperties +type CommonDataServiceForAppsLinkedService = original.CommonDataServiceForAppsLinkedService +type CommonDataServiceForAppsLinkedServiceTypeProperties = original.CommonDataServiceForAppsLinkedServiceTypeProperties +type CommonDataServiceForAppsSink = original.CommonDataServiceForAppsSink +type CommonDataServiceForAppsSource = original.CommonDataServiceForAppsSource +type ConcurLinkedService = original.ConcurLinkedService +type ConcurLinkedServiceTypeProperties = original.ConcurLinkedServiceTypeProperties +type ConcurObjectDataset = original.ConcurObjectDataset +type ConcurSource = original.ConcurSource +type ControlActivity = original.ControlActivity +type CopyActivity = original.CopyActivity +type CopyActivityTypeProperties = original.CopyActivityTypeProperties +type CopySink = original.CopySink +type CopySource = original.CopySource +type CosmosDbLinkedService = original.CosmosDbLinkedService +type CosmosDbLinkedServiceTypeProperties = original.CosmosDbLinkedServiceTypeProperties +type CosmosDbMongoDbAPICollectionDataset = original.CosmosDbMongoDbAPICollectionDataset +type CosmosDbMongoDbAPICollectionDatasetTypeProperties = original.CosmosDbMongoDbAPICollectionDatasetTypeProperties +type CosmosDbMongoDbAPILinkedService = original.CosmosDbMongoDbAPILinkedService +type CosmosDbMongoDbAPILinkedServiceTypeProperties = original.CosmosDbMongoDbAPILinkedServiceTypeProperties +type CosmosDbMongoDbAPISink = original.CosmosDbMongoDbAPISink +type CosmosDbMongoDbAPISource = original.CosmosDbMongoDbAPISource +type CosmosDbSQLAPICollectionDataset = original.CosmosDbSQLAPICollectionDataset +type CosmosDbSQLAPICollectionDatasetTypeProperties = original.CosmosDbSQLAPICollectionDatasetTypeProperties +type CosmosDbSQLAPISink = original.CosmosDbSQLAPISink +type CosmosDbSQLAPISource = original.CosmosDbSQLAPISource +type CouchbaseLinkedService = original.CouchbaseLinkedService +type CouchbaseLinkedServiceTypeProperties = original.CouchbaseLinkedServiceTypeProperties +type CouchbaseSource = original.CouchbaseSource +type CouchbaseTableDataset = original.CouchbaseTableDataset +type CreateDataFlowDebugSessionRequest = original.CreateDataFlowDebugSessionRequest +type CreateDataFlowDebugSessionResponse = original.CreateDataFlowDebugSessionResponse +type CreateRunResponse = original.CreateRunResponse +type CustomActivity = original.CustomActivity +type CustomActivityReferenceObject = original.CustomActivityReferenceObject +type CustomActivityTypeProperties = original.CustomActivityTypeProperties +type CustomDataSourceLinkedService = original.CustomDataSourceLinkedService +type CustomDataset = original.CustomDataset +type DWCopyCommandDefaultValue = original.DWCopyCommandDefaultValue +type DWCopyCommandSettings = original.DWCopyCommandSettings +type DataFlow = original.DataFlow +type DataFlowClient = original.DataFlowClient +type DataFlowDebugCommandRequest = original.DataFlowDebugCommandRequest +type DataFlowDebugCommandResponse = original.DataFlowDebugCommandResponse +type DataFlowDebugPackage = original.DataFlowDebugPackage +type DataFlowDebugPackageDebugSettings = original.DataFlowDebugPackageDebugSettings +type DataFlowDebugPreviewDataRequest = original.DataFlowDebugPreviewDataRequest +type DataFlowDebugQueryResponse = original.DataFlowDebugQueryResponse +type DataFlowDebugResource = original.DataFlowDebugResource +type DataFlowDebugResultResponse = original.DataFlowDebugResultResponse +type DataFlowDebugSessionClient = original.DataFlowDebugSessionClient +type DataFlowDebugSessionCreateDataFlowDebugSessionFuture = original.DataFlowDebugSessionCreateDataFlowDebugSessionFuture +type DataFlowDebugSessionExecuteCommandFuture = original.DataFlowDebugSessionExecuteCommandFuture +type DataFlowDebugSessionInfo = original.DataFlowDebugSessionInfo +type DataFlowDebugStatisticsRequest = original.DataFlowDebugStatisticsRequest +type DataFlowFolder = original.DataFlowFolder +type DataFlowListResponse = original.DataFlowListResponse +type DataFlowListResponseIterator = original.DataFlowListResponseIterator +type DataFlowListResponsePage = original.DataFlowListResponsePage +type DataFlowReference = original.DataFlowReference +type DataFlowResource = original.DataFlowResource +type DataFlowSink = original.DataFlowSink +type DataFlowSource = original.DataFlowSource +type DataFlowSourceSetting = original.DataFlowSourceSetting +type DataFlowStagingInfo = original.DataFlowStagingInfo +type DataLakeAnalyticsUSQLActivity = original.DataLakeAnalyticsUSQLActivity +type DataLakeAnalyticsUSQLActivityTypeProperties = original.DataLakeAnalyticsUSQLActivityTypeProperties +type DatabricksNotebookActivity = original.DatabricksNotebookActivity +type DatabricksNotebookActivityTypeProperties = original.DatabricksNotebookActivityTypeProperties +type DatabricksSparkJarActivity = original.DatabricksSparkJarActivity +type DatabricksSparkJarActivityTypeProperties = original.DatabricksSparkJarActivityTypeProperties +type DatabricksSparkPythonActivity = original.DatabricksSparkPythonActivity +type DatabricksSparkPythonActivityTypeProperties = original.DatabricksSparkPythonActivityTypeProperties +type Dataset = original.Dataset +type DatasetBZip2Compression = original.DatasetBZip2Compression +type DatasetClient = original.DatasetClient +type DatasetCompression = original.DatasetCompression +type DatasetDebugResource = original.DatasetDebugResource +type DatasetDeflateCompression = original.DatasetDeflateCompression +type DatasetFolder = original.DatasetFolder +type DatasetGZipCompression = original.DatasetGZipCompression +type DatasetListResponse = original.DatasetListResponse +type DatasetListResponseIterator = original.DatasetListResponseIterator +type DatasetListResponsePage = original.DatasetListResponsePage +type DatasetLocation = original.DatasetLocation +type DatasetReference = original.DatasetReference +type DatasetResource = original.DatasetResource +type DatasetZipDeflateCompression = original.DatasetZipDeflateCompression +type Db2LinkedService = original.Db2LinkedService +type Db2LinkedServiceTypeProperties = original.Db2LinkedServiceTypeProperties +type Db2Source = original.Db2Source +type Db2TableDataset = original.Db2TableDataset +type Db2TableDatasetTypeProperties = original.Db2TableDatasetTypeProperties +type DeleteActivity = original.DeleteActivity +type DeleteActivityTypeProperties = original.DeleteActivityTypeProperties +type DeleteDataFlowDebugSessionRequest = original.DeleteDataFlowDebugSessionRequest +type DelimitedTextDataset = original.DelimitedTextDataset +type DelimitedTextDatasetTypeProperties = original.DelimitedTextDatasetTypeProperties +type DelimitedTextReadSettings = original.DelimitedTextReadSettings +type DelimitedTextSink = original.DelimitedTextSink +type DelimitedTextSource = original.DelimitedTextSource +type DelimitedTextWriteSettings = original.DelimitedTextWriteSettings +type DependencyReference = original.DependencyReference +type DistcpSettings = original.DistcpSettings +type DocumentDbCollectionDataset = original.DocumentDbCollectionDataset +type DocumentDbCollectionDatasetTypeProperties = original.DocumentDbCollectionDatasetTypeProperties +type DocumentDbCollectionSink = original.DocumentDbCollectionSink +type DocumentDbCollectionSource = original.DocumentDbCollectionSource +type DrillDatasetTypeProperties = original.DrillDatasetTypeProperties +type DrillLinkedService = original.DrillLinkedService +type DrillLinkedServiceTypeProperties = original.DrillLinkedServiceTypeProperties +type DrillSource = original.DrillSource +type DrillTableDataset = original.DrillTableDataset +type DynamicsAXLinkedService = original.DynamicsAXLinkedService +type DynamicsAXLinkedServiceTypeProperties = original.DynamicsAXLinkedServiceTypeProperties +type DynamicsAXResourceDataset = original.DynamicsAXResourceDataset +type DynamicsAXResourceDatasetTypeProperties = original.DynamicsAXResourceDatasetTypeProperties +type DynamicsAXSource = original.DynamicsAXSource +type DynamicsCrmEntityDataset = original.DynamicsCrmEntityDataset +type DynamicsCrmEntityDatasetTypeProperties = original.DynamicsCrmEntityDatasetTypeProperties +type DynamicsCrmLinkedService = original.DynamicsCrmLinkedService +type DynamicsCrmLinkedServiceTypeProperties = original.DynamicsCrmLinkedServiceTypeProperties +type DynamicsCrmSink = original.DynamicsCrmSink +type DynamicsCrmSource = original.DynamicsCrmSource +type DynamicsEntityDataset = original.DynamicsEntityDataset +type DynamicsEntityDatasetTypeProperties = original.DynamicsEntityDatasetTypeProperties +type DynamicsLinkedService = original.DynamicsLinkedService +type DynamicsLinkedServiceTypeProperties = original.DynamicsLinkedServiceTypeProperties +type DynamicsSink = original.DynamicsSink +type DynamicsSource = original.DynamicsSource +type EloquaLinkedService = original.EloquaLinkedService +type EloquaLinkedServiceTypeProperties = original.EloquaLinkedServiceTypeProperties +type EloquaObjectDataset = original.EloquaObjectDataset +type EloquaSource = original.EloquaSource +type EvaluateDataFlowExpressionRequest = original.EvaluateDataFlowExpressionRequest +type ExecuteDataFlowActivity = original.ExecuteDataFlowActivity +type ExecuteDataFlowActivityTypeProperties = original.ExecuteDataFlowActivityTypeProperties +type ExecuteDataFlowActivityTypePropertiesCompute = original.ExecuteDataFlowActivityTypePropertiesCompute +type ExecutePipelineActivity = original.ExecutePipelineActivity +type ExecutePipelineActivityTypeProperties = original.ExecutePipelineActivityTypeProperties +type ExecuteSSISPackageActivity = original.ExecuteSSISPackageActivity +type ExecuteSSISPackageActivityTypeProperties = original.ExecuteSSISPackageActivityTypeProperties +type ExecutionActivity = original.ExecutionActivity +type ExposureControlRequest = original.ExposureControlRequest +type ExposureControlResponse = original.ExposureControlResponse +type Expression = original.Expression +type FileServerLinkedService = original.FileServerLinkedService +type FileServerLinkedServiceTypeProperties = original.FileServerLinkedServiceTypeProperties +type FileServerLocation = original.FileServerLocation +type FileServerReadSettings = original.FileServerReadSettings +type FileServerWriteSettings = original.FileServerWriteSettings +type FileSystemSink = original.FileSystemSink +type FileSystemSource = original.FileSystemSource +type FilterActivity = original.FilterActivity +type FilterActivityTypeProperties = original.FilterActivityTypeProperties +type ForEachActivity = original.ForEachActivity +type ForEachActivityTypeProperties = original.ForEachActivityTypeProperties +type FormatReadSettings = original.FormatReadSettings +type FormatWriteSettings = original.FormatWriteSettings +type FtpReadSettings = original.FtpReadSettings +type FtpServerLinkedService = original.FtpServerLinkedService +type FtpServerLinkedServiceTypeProperties = original.FtpServerLinkedServiceTypeProperties +type FtpServerLocation = original.FtpServerLocation +type GenericDatasetTypeProperties = original.GenericDatasetTypeProperties +type GetMetadataActivity = original.GetMetadataActivity +type GetMetadataActivityTypeProperties = original.GetMetadataActivityTypeProperties +type GetSsisObjectMetadataRequest = original.GetSsisObjectMetadataRequest +type GoogleAdWordsLinkedService = original.GoogleAdWordsLinkedService +type GoogleAdWordsLinkedServiceTypeProperties = original.GoogleAdWordsLinkedServiceTypeProperties +type GoogleAdWordsObjectDataset = original.GoogleAdWordsObjectDataset +type GoogleAdWordsSource = original.GoogleAdWordsSource +type GoogleBigQueryDatasetTypeProperties = original.GoogleBigQueryDatasetTypeProperties +type GoogleBigQueryLinkedService = original.GoogleBigQueryLinkedService +type GoogleBigQueryLinkedServiceTypeProperties = original.GoogleBigQueryLinkedServiceTypeProperties +type GoogleBigQueryObjectDataset = original.GoogleBigQueryObjectDataset +type GoogleBigQuerySource = original.GoogleBigQuerySource +type GoogleCloudStorageLinkedService = original.GoogleCloudStorageLinkedService +type GoogleCloudStorageLinkedServiceTypeProperties = original.GoogleCloudStorageLinkedServiceTypeProperties +type GoogleCloudStorageLocation = original.GoogleCloudStorageLocation +type GoogleCloudStorageReadSettings = original.GoogleCloudStorageReadSettings +type GreenplumDatasetTypeProperties = original.GreenplumDatasetTypeProperties +type GreenplumLinkedService = original.GreenplumLinkedService +type GreenplumLinkedServiceTypeProperties = original.GreenplumLinkedServiceTypeProperties +type GreenplumSource = original.GreenplumSource +type GreenplumTableDataset = original.GreenplumTableDataset +type HBaseLinkedService = original.HBaseLinkedService +type HBaseLinkedServiceTypeProperties = original.HBaseLinkedServiceTypeProperties +type HBaseObjectDataset = original.HBaseObjectDataset +type HBaseSource = original.HBaseSource +type HDInsightHiveActivity = original.HDInsightHiveActivity +type HDInsightHiveActivityTypeProperties = original.HDInsightHiveActivityTypeProperties +type HDInsightLinkedService = original.HDInsightLinkedService +type HDInsightLinkedServiceTypeProperties = original.HDInsightLinkedServiceTypeProperties +type HDInsightMapReduceActivity = original.HDInsightMapReduceActivity +type HDInsightMapReduceActivityTypeProperties = original.HDInsightMapReduceActivityTypeProperties +type HDInsightOnDemandLinkedService = original.HDInsightOnDemandLinkedService +type HDInsightOnDemandLinkedServiceTypeProperties = original.HDInsightOnDemandLinkedServiceTypeProperties +type HDInsightPigActivity = original.HDInsightPigActivity +type HDInsightPigActivityTypeProperties = original.HDInsightPigActivityTypeProperties +type HDInsightSparkActivity = original.HDInsightSparkActivity +type HDInsightSparkActivityTypeProperties = original.HDInsightSparkActivityTypeProperties +type HDInsightStreamingActivity = original.HDInsightStreamingActivity +type HDInsightStreamingActivityTypeProperties = original.HDInsightStreamingActivityTypeProperties +type HTTPLinkedService = original.HTTPLinkedService +type HTTPLinkedServiceTypeProperties = original.HTTPLinkedServiceTypeProperties +type HTTPReadSettings = original.HTTPReadSettings +type HTTPServerLocation = original.HTTPServerLocation +type HTTPSource = original.HTTPSource +type HdfsLinkedService = original.HdfsLinkedService +type HdfsLinkedServiceTypeProperties = original.HdfsLinkedServiceTypeProperties +type HdfsLocation = original.HdfsLocation +type HdfsReadSettings = original.HdfsReadSettings +type HdfsSource = original.HdfsSource +type HiveDatasetTypeProperties = original.HiveDatasetTypeProperties +type HiveLinkedService = original.HiveLinkedService +type HiveLinkedServiceTypeProperties = original.HiveLinkedServiceTypeProperties +type HiveObjectDataset = original.HiveObjectDataset +type HiveSource = original.HiveSource +type HubspotLinkedService = original.HubspotLinkedService +type HubspotLinkedServiceTypeProperties = original.HubspotLinkedServiceTypeProperties +type HubspotObjectDataset = original.HubspotObjectDataset +type HubspotSource = original.HubspotSource +type IfConditionActivity = original.IfConditionActivity +type IfConditionActivityTypeProperties = original.IfConditionActivityTypeProperties +type ImpalaDatasetTypeProperties = original.ImpalaDatasetTypeProperties +type ImpalaLinkedService = original.ImpalaLinkedService +type ImpalaLinkedServiceTypeProperties = original.ImpalaLinkedServiceTypeProperties +type ImpalaObjectDataset = original.ImpalaObjectDataset +type ImpalaSource = original.ImpalaSource +type InformixLinkedService = original.InformixLinkedService +type InformixLinkedServiceTypeProperties = original.InformixLinkedServiceTypeProperties +type InformixSink = original.InformixSink +type InformixSource = original.InformixSource +type InformixTableDataset = original.InformixTableDataset +type InformixTableDatasetTypeProperties = original.InformixTableDatasetTypeProperties +type IntegrationRuntimeReference = original.IntegrationRuntimeReference +type JSONDataset = original.JSONDataset +type JSONDatasetTypeProperties = original.JSONDatasetTypeProperties +type JSONSink = original.JSONSink +type JSONSource = original.JSONSource +type JSONWriteSettings = original.JSONWriteSettings +type JiraLinkedService = original.JiraLinkedService +type JiraLinkedServiceTypeProperties = original.JiraLinkedServiceTypeProperties +type JiraObjectDataset = original.JiraObjectDataset +type JiraSource = original.JiraSource +type LinkedService = original.LinkedService +type LinkedServiceClient = original.LinkedServiceClient +type LinkedServiceDebugResource = original.LinkedServiceDebugResource +type LinkedServiceListResponse = original.LinkedServiceListResponse +type LinkedServiceListResponseIterator = original.LinkedServiceListResponseIterator +type LinkedServiceListResponsePage = original.LinkedServiceListResponsePage +type LinkedServiceReference = original.LinkedServiceReference +type LinkedServiceResource = original.LinkedServiceResource +type LogStorageSettings = original.LogStorageSettings +type LookupActivity = original.LookupActivity +type LookupActivityTypeProperties = original.LookupActivityTypeProperties +type MagentoLinkedService = original.MagentoLinkedService +type MagentoLinkedServiceTypeProperties = original.MagentoLinkedServiceTypeProperties +type MagentoObjectDataset = original.MagentoObjectDataset +type MagentoSource = original.MagentoSource +type MappingDataFlow = original.MappingDataFlow +type MappingDataFlowTypeProperties = original.MappingDataFlowTypeProperties +type MariaDBLinkedService = original.MariaDBLinkedService +type MariaDBLinkedServiceTypeProperties = original.MariaDBLinkedServiceTypeProperties +type MariaDBSource = original.MariaDBSource +type MariaDBTableDataset = original.MariaDBTableDataset +type MarketoLinkedService = original.MarketoLinkedService +type MarketoLinkedServiceTypeProperties = original.MarketoLinkedServiceTypeProperties +type MarketoObjectDataset = original.MarketoObjectDataset +type MarketoSource = original.MarketoSource +type MicrosoftAccessLinkedService = original.MicrosoftAccessLinkedService +type MicrosoftAccessLinkedServiceTypeProperties = original.MicrosoftAccessLinkedServiceTypeProperties +type MicrosoftAccessSink = original.MicrosoftAccessSink +type MicrosoftAccessSource = original.MicrosoftAccessSource +type MicrosoftAccessTableDataset = original.MicrosoftAccessTableDataset +type MicrosoftAccessTableDatasetTypeProperties = original.MicrosoftAccessTableDatasetTypeProperties +type MongoDbCollectionDataset = original.MongoDbCollectionDataset +type MongoDbCollectionDatasetTypeProperties = original.MongoDbCollectionDatasetTypeProperties +type MongoDbCursorMethodsProperties = original.MongoDbCursorMethodsProperties +type MongoDbLinkedService = original.MongoDbLinkedService +type MongoDbLinkedServiceTypeProperties = original.MongoDbLinkedServiceTypeProperties +type MongoDbSource = original.MongoDbSource +type MongoDbV2CollectionDataset = original.MongoDbV2CollectionDataset +type MongoDbV2CollectionDatasetTypeProperties = original.MongoDbV2CollectionDatasetTypeProperties +type MongoDbV2LinkedService = original.MongoDbV2LinkedService +type MongoDbV2LinkedServiceTypeProperties = original.MongoDbV2LinkedServiceTypeProperties +type MongoDbV2Source = original.MongoDbV2Source +type MultiplePipelineTrigger = original.MultiplePipelineTrigger +type MySQLLinkedService = original.MySQLLinkedService +type MySQLLinkedServiceTypeProperties = original.MySQLLinkedServiceTypeProperties +type MySQLSource = original.MySQLSource +type MySQLTableDataset = original.MySQLTableDataset +type MySQLTableDatasetTypeProperties = original.MySQLTableDatasetTypeProperties +type NetezzaLinkedService = original.NetezzaLinkedService +type NetezzaLinkedServiceTypeProperties = original.NetezzaLinkedServiceTypeProperties +type NetezzaPartitionSettings = original.NetezzaPartitionSettings +type NetezzaSource = original.NetezzaSource +type NetezzaTableDataset = original.NetezzaTableDataset +type NetezzaTableDatasetTypeProperties = original.NetezzaTableDatasetTypeProperties +type Notebook = original.Notebook +type NotebookCell = original.NotebookCell +type NotebookCellOutputItem = original.NotebookCellOutputItem +type NotebookClient = original.NotebookClient +type NotebookKernelSpec = original.NotebookKernelSpec +type NotebookLanguageInfo = original.NotebookLanguageInfo +type NotebookListResponse = original.NotebookListResponse +type NotebookListResponseIterator = original.NotebookListResponseIterator +type NotebookListResponsePage = original.NotebookListResponsePage +type NotebookMetadata = original.NotebookMetadata +type NotebookResource = original.NotebookResource +type NotebookSessionProperties = original.NotebookSessionProperties +type ODataLinkedService = original.ODataLinkedService +type ODataLinkedServiceTypeProperties = original.ODataLinkedServiceTypeProperties +type ODataResourceDataset = original.ODataResourceDataset +type ODataResourceDatasetTypeProperties = original.ODataResourceDatasetTypeProperties +type ODataSource = original.ODataSource +type OdbcLinkedService = original.OdbcLinkedService +type OdbcLinkedServiceTypeProperties = original.OdbcLinkedServiceTypeProperties +type OdbcSink = original.OdbcSink +type OdbcSource = original.OdbcSource +type OdbcTableDataset = original.OdbcTableDataset +type OdbcTableDatasetTypeProperties = original.OdbcTableDatasetTypeProperties +type Office365Dataset = original.Office365Dataset +type Office365DatasetTypeProperties = original.Office365DatasetTypeProperties +type Office365LinkedService = original.Office365LinkedService +type Office365LinkedServiceTypeProperties = original.Office365LinkedServiceTypeProperties +type Office365Source = original.Office365Source +type OracleLinkedService = original.OracleLinkedService +type OracleLinkedServiceTypeProperties = original.OracleLinkedServiceTypeProperties +type OraclePartitionSettings = original.OraclePartitionSettings +type OracleServiceCloudLinkedService = original.OracleServiceCloudLinkedService +type OracleServiceCloudLinkedServiceTypeProperties = original.OracleServiceCloudLinkedServiceTypeProperties +type OracleServiceCloudObjectDataset = original.OracleServiceCloudObjectDataset +type OracleServiceCloudSource = original.OracleServiceCloudSource +type OracleSink = original.OracleSink +type OracleSource = original.OracleSource +type OracleTableDataset = original.OracleTableDataset +type OracleTableDatasetTypeProperties = original.OracleTableDatasetTypeProperties +type OrcDataset = original.OrcDataset +type OrcDatasetTypeProperties = original.OrcDatasetTypeProperties +type OrcSink = original.OrcSink +type OrcSource = original.OrcSource +type ParameterSpecification = original.ParameterSpecification +type ParquetDataset = original.ParquetDataset +type ParquetDatasetTypeProperties = original.ParquetDatasetTypeProperties +type ParquetSink = original.ParquetSink +type ParquetSource = original.ParquetSource +type PaypalLinkedService = original.PaypalLinkedService +type PaypalLinkedServiceTypeProperties = original.PaypalLinkedServiceTypeProperties +type PaypalObjectDataset = original.PaypalObjectDataset +type PaypalSource = original.PaypalSource +type PhoenixDatasetTypeProperties = original.PhoenixDatasetTypeProperties +type PhoenixLinkedService = original.PhoenixLinkedService +type PhoenixLinkedServiceTypeProperties = original.PhoenixLinkedServiceTypeProperties +type PhoenixObjectDataset = original.PhoenixObjectDataset +type PhoenixSource = original.PhoenixSource +type Pipeline = original.Pipeline +type PipelineClient = original.PipelineClient +type PipelineFolder = original.PipelineFolder +type PipelineListResponse = original.PipelineListResponse +type PipelineListResponseIterator = original.PipelineListResponseIterator +type PipelineListResponsePage = original.PipelineListResponsePage +type PipelineReference = original.PipelineReference +type PipelineResource = original.PipelineResource +type PipelineRun = original.PipelineRun +type PipelineRunClient = original.PipelineRunClient +type PipelineRunInvokedBy = original.PipelineRunInvokedBy +type PipelineRunsQueryResponse = original.PipelineRunsQueryResponse +type PolybaseSettings = original.PolybaseSettings +type PostgreSQLLinkedService = original.PostgreSQLLinkedService +type PostgreSQLLinkedServiceTypeProperties = original.PostgreSQLLinkedServiceTypeProperties +type PostgreSQLSource = original.PostgreSQLSource +type PostgreSQLTableDataset = original.PostgreSQLTableDataset +type PostgreSQLTableDatasetTypeProperties = original.PostgreSQLTableDatasetTypeProperties +type PrestoDatasetTypeProperties = original.PrestoDatasetTypeProperties +type PrestoLinkedService = original.PrestoLinkedService +type PrestoLinkedServiceTypeProperties = original.PrestoLinkedServiceTypeProperties +type PrestoObjectDataset = original.PrestoObjectDataset +type PrestoSource = original.PrestoSource +type QueryDataFlowDebugSessionsResponse = original.QueryDataFlowDebugSessionsResponse +type QueryDataFlowDebugSessionsResponseIterator = original.QueryDataFlowDebugSessionsResponseIterator +type QueryDataFlowDebugSessionsResponsePage = original.QueryDataFlowDebugSessionsResponsePage +type QuickBooksLinkedService = original.QuickBooksLinkedService +type QuickBooksLinkedServiceTypeProperties = original.QuickBooksLinkedServiceTypeProperties +type QuickBooksObjectDataset = original.QuickBooksObjectDataset +type QuickBooksSource = original.QuickBooksSource +type RecurrenceSchedule = original.RecurrenceSchedule +type RecurrenceScheduleOccurrence = original.RecurrenceScheduleOccurrence +type RedirectIncompatibleRowSettings = original.RedirectIncompatibleRowSettings +type RedshiftUnloadSettings = original.RedshiftUnloadSettings +type RelationalSource = original.RelationalSource +type RelationalTableDataset = original.RelationalTableDataset +type RelationalTableDatasetTypeProperties = original.RelationalTableDatasetTypeProperties +type RerunTriggerListResponse = original.RerunTriggerListResponse +type RerunTriggerResource = original.RerunTriggerResource +type RerunTumblingWindowTrigger = original.RerunTumblingWindowTrigger +type RerunTumblingWindowTriggerActionParameters = original.RerunTumblingWindowTriggerActionParameters +type RerunTumblingWindowTriggerTypeProperties = original.RerunTumblingWindowTriggerTypeProperties +type Resource = original.Resource +type ResponsysLinkedService = original.ResponsysLinkedService +type ResponsysLinkedServiceTypeProperties = original.ResponsysLinkedServiceTypeProperties +type ResponsysObjectDataset = original.ResponsysObjectDataset +type ResponsysSource = original.ResponsysSource +type RestResourceDataset = original.RestResourceDataset +type RestResourceDatasetTypeProperties = original.RestResourceDatasetTypeProperties +type RestServiceLinkedService = original.RestServiceLinkedService +type RestServiceLinkedServiceTypeProperties = original.RestServiceLinkedServiceTypeProperties +type RestSource = original.RestSource +type RetryPolicy = original.RetryPolicy +type RunFilterParameters = original.RunFilterParameters +type RunQueryFilter = original.RunQueryFilter +type RunQueryOrderBy = original.RunQueryOrderBy +type SQLConnection = original.SQLConnection +type SQLDWSink = original.SQLDWSink +type SQLDWSource = original.SQLDWSource +type SQLMISink = original.SQLMISink +type SQLMISource = original.SQLMISource +type SQLScript = original.SQLScript +type SQLScriptClient = original.SQLScriptClient +type SQLScriptContent = original.SQLScriptContent +type SQLScriptMetadata = original.SQLScriptMetadata +type SQLScriptResource = original.SQLScriptResource +type SQLScriptsListResponse = original.SQLScriptsListResponse +type SQLScriptsListResponseIterator = original.SQLScriptsListResponseIterator +type SQLScriptsListResponsePage = original.SQLScriptsListResponsePage +type SQLServerLinkedService = original.SQLServerLinkedService +type SQLServerLinkedServiceTypeProperties = original.SQLServerLinkedServiceTypeProperties +type SQLServerSink = original.SQLServerSink +type SQLServerSource = original.SQLServerSource +type SQLServerStoredProcedureActivity = original.SQLServerStoredProcedureActivity +type SQLServerStoredProcedureActivityTypeProperties = original.SQLServerStoredProcedureActivityTypeProperties +type SQLServerTableDataset = original.SQLServerTableDataset +type SQLServerTableDatasetTypeProperties = original.SQLServerTableDatasetTypeProperties +type SQLSink = original.SQLSink +type SQLSource = original.SQLSource +type SSISAccessCredential = original.SSISAccessCredential +type SSISChildPackage = original.SSISChildPackage +type SSISExecutionCredential = original.SSISExecutionCredential +type SSISExecutionParameter = original.SSISExecutionParameter +type SSISLogLocation = original.SSISLogLocation +type SSISLogLocationTypeProperties = original.SSISLogLocationTypeProperties +type SSISPackageLocation = original.SSISPackageLocation +type SSISPackageLocationTypeProperties = original.SSISPackageLocationTypeProperties +type SSISPropertyOverride = original.SSISPropertyOverride +type SalesforceLinkedService = original.SalesforceLinkedService +type SalesforceLinkedServiceTypeProperties = original.SalesforceLinkedServiceTypeProperties +type SalesforceMarketingCloudLinkedService = original.SalesforceMarketingCloudLinkedService +type SalesforceMarketingCloudLinkedServiceTypeProperties = original.SalesforceMarketingCloudLinkedServiceTypeProperties +type SalesforceMarketingCloudObjectDataset = original.SalesforceMarketingCloudObjectDataset +type SalesforceMarketingCloudSource = original.SalesforceMarketingCloudSource +type SalesforceObjectDataset = original.SalesforceObjectDataset +type SalesforceObjectDatasetTypeProperties = original.SalesforceObjectDatasetTypeProperties +type SalesforceServiceCloudLinkedService = original.SalesforceServiceCloudLinkedService +type SalesforceServiceCloudLinkedServiceTypeProperties = original.SalesforceServiceCloudLinkedServiceTypeProperties +type SalesforceServiceCloudObjectDataset = original.SalesforceServiceCloudObjectDataset +type SalesforceServiceCloudObjectDatasetTypeProperties = original.SalesforceServiceCloudObjectDatasetTypeProperties +type SalesforceServiceCloudSink = original.SalesforceServiceCloudSink +type SalesforceServiceCloudSource = original.SalesforceServiceCloudSource +type SalesforceSink = original.SalesforceSink +type SalesforceSource = original.SalesforceSource +type SapBWLinkedService = original.SapBWLinkedService +type SapBWLinkedServiceTypeProperties = original.SapBWLinkedServiceTypeProperties +type SapBwCubeDataset = original.SapBwCubeDataset +type SapBwSource = original.SapBwSource +type SapCloudForCustomerLinkedService = original.SapCloudForCustomerLinkedService +type SapCloudForCustomerLinkedServiceTypeProperties = original.SapCloudForCustomerLinkedServiceTypeProperties +type SapCloudForCustomerResourceDataset = original.SapCloudForCustomerResourceDataset +type SapCloudForCustomerResourceDatasetTypeProperties = original.SapCloudForCustomerResourceDatasetTypeProperties +type SapCloudForCustomerSink = original.SapCloudForCustomerSink +type SapCloudForCustomerSource = original.SapCloudForCustomerSource +type SapEccLinkedService = original.SapEccLinkedService +type SapEccLinkedServiceTypeProperties = original.SapEccLinkedServiceTypeProperties +type SapEccResourceDataset = original.SapEccResourceDataset +type SapEccResourceDatasetTypeProperties = original.SapEccResourceDatasetTypeProperties +type SapEccSource = original.SapEccSource +type SapHanaLinkedService = original.SapHanaLinkedService +type SapHanaLinkedServiceProperties = original.SapHanaLinkedServiceProperties +type SapHanaPartitionSettings = original.SapHanaPartitionSettings +type SapHanaSource = original.SapHanaSource +type SapHanaTableDataset = original.SapHanaTableDataset +type SapHanaTableDatasetTypeProperties = original.SapHanaTableDatasetTypeProperties +type SapOpenHubLinkedService = original.SapOpenHubLinkedService +type SapOpenHubLinkedServiceTypeProperties = original.SapOpenHubLinkedServiceTypeProperties +type SapOpenHubSource = original.SapOpenHubSource +type SapOpenHubTableDataset = original.SapOpenHubTableDataset +type SapOpenHubTableDatasetTypeProperties = original.SapOpenHubTableDatasetTypeProperties +type SapTableLinkedService = original.SapTableLinkedService +type SapTableLinkedServiceTypeProperties = original.SapTableLinkedServiceTypeProperties +type SapTablePartitionSettings = original.SapTablePartitionSettings +type SapTableResourceDataset = original.SapTableResourceDataset +type SapTableResourceDatasetTypeProperties = original.SapTableResourceDatasetTypeProperties +type SapTableSource = original.SapTableSource +type ScheduleTrigger = original.ScheduleTrigger +type ScheduleTriggerRecurrence = original.ScheduleTriggerRecurrence +type ScheduleTriggerTypeProperties = original.ScheduleTriggerTypeProperties +type ScriptAction = original.ScriptAction +type SecretBase = original.SecretBase +type SecureString = original.SecureString +type SelfDependencyTumblingWindowTriggerReference = original.SelfDependencyTumblingWindowTriggerReference +type ServiceNowLinkedService = original.ServiceNowLinkedService +type ServiceNowLinkedServiceTypeProperties = original.ServiceNowLinkedServiceTypeProperties +type ServiceNowObjectDataset = original.ServiceNowObjectDataset +type ServiceNowSource = original.ServiceNowSource +type SetVariableActivity = original.SetVariableActivity +type SetVariableActivityTypeProperties = original.SetVariableActivityTypeProperties +type SftpLocation = original.SftpLocation +type SftpReadSettings = original.SftpReadSettings +type SftpServerLinkedService = original.SftpServerLinkedService +type SftpServerLinkedServiceTypeProperties = original.SftpServerLinkedServiceTypeProperties +type SftpWriteSettings = original.SftpWriteSettings +type ShopifyLinkedService = original.ShopifyLinkedService +type ShopifyLinkedServiceTypeProperties = original.ShopifyLinkedServiceTypeProperties +type ShopifyObjectDataset = original.ShopifyObjectDataset +type ShopifySource = original.ShopifySource +type SparkBatchJob = original.SparkBatchJob +type SparkBatchJobState = original.SparkBatchJobState +type SparkDatasetTypeProperties = original.SparkDatasetTypeProperties +type SparkJobDefinition = original.SparkJobDefinition +type SparkJobDefinitionClient = original.SparkJobDefinitionClient +type SparkJobDefinitionDebugSparkJobDefinitionFuture = original.SparkJobDefinitionDebugSparkJobDefinitionFuture +type SparkJobDefinitionExecuteSparkJobDefinitionFuture = original.SparkJobDefinitionExecuteSparkJobDefinitionFuture +type SparkJobDefinitionResource = original.SparkJobDefinitionResource +type SparkJobDefinitionsListResponse = original.SparkJobDefinitionsListResponse +type SparkJobDefinitionsListResponseIterator = original.SparkJobDefinitionsListResponseIterator +type SparkJobDefinitionsListResponsePage = original.SparkJobDefinitionsListResponsePage +type SparkJobProperties = original.SparkJobProperties +type SparkLinkedService = original.SparkLinkedService +type SparkLinkedServiceTypeProperties = original.SparkLinkedServiceTypeProperties +type SparkObjectDataset = original.SparkObjectDataset +type SparkRequest = original.SparkRequest +type SparkScheduler = original.SparkScheduler +type SparkServiceError = original.SparkServiceError +type SparkServicePlugin = original.SparkServicePlugin +type SparkSource = original.SparkSource +type SquareLinkedService = original.SquareLinkedService +type SquareLinkedServiceTypeProperties = original.SquareLinkedServiceTypeProperties +type SquareObjectDataset = original.SquareObjectDataset +type SquareSource = original.SquareSource +type SsisObjectMetadataStatusResponse = original.SsisObjectMetadataStatusResponse +type StagingSettings = original.StagingSettings +type StartDataFlowDebugSessionRequest = original.StartDataFlowDebugSessionRequest +type StartDataFlowDebugSessionResponse = original.StartDataFlowDebugSessionResponse +type StoreReadSettings = original.StoreReadSettings +type StoreWriteSettings = original.StoreWriteSettings +type StoredProcedureParameter = original.StoredProcedureParameter +type SubResource = original.SubResource +type SubResourceDebugResource = original.SubResourceDebugResource +type SwitchActivity = original.SwitchActivity +type SwitchActivityTypeProperties = original.SwitchActivityTypeProperties +type SwitchCase = original.SwitchCase +type SybaseLinkedService = original.SybaseLinkedService +type SybaseLinkedServiceTypeProperties = original.SybaseLinkedServiceTypeProperties +type SybaseSource = original.SybaseSource +type SybaseTableDataset = original.SybaseTableDataset +type SybaseTableDatasetTypeProperties = original.SybaseTableDatasetTypeProperties +type TabularSource = original.TabularSource +type TeradataLinkedService = original.TeradataLinkedService +type TeradataLinkedServiceTypeProperties = original.TeradataLinkedServiceTypeProperties +type TeradataPartitionSettings = original.TeradataPartitionSettings +type TeradataSource = original.TeradataSource +type TeradataTableDataset = original.TeradataTableDataset +type TeradataTableDatasetTypeProperties = original.TeradataTableDatasetTypeProperties +type Transformation = original.Transformation +type Trigger = original.Trigger +type TriggerClient = original.TriggerClient +type TriggerDependencyProvisioningStatus = original.TriggerDependencyProvisioningStatus +type TriggerDependencyReference = original.TriggerDependencyReference +type TriggerListResponse = original.TriggerListResponse +type TriggerListResponseIterator = original.TriggerListResponseIterator +type TriggerListResponsePage = original.TriggerListResponsePage +type TriggerPipelineReference = original.TriggerPipelineReference +type TriggerReference = original.TriggerReference +type TriggerResource = original.TriggerResource +type TriggerRun = original.TriggerRun +type TriggerRunClient = original.TriggerRunClient +type TriggerRunsQueryResponse = original.TriggerRunsQueryResponse +type TriggerStartTriggerFuture = original.TriggerStartTriggerFuture +type TriggerStopTriggerFuture = original.TriggerStopTriggerFuture +type TriggerSubscribeTriggerToEventsFuture = original.TriggerSubscribeTriggerToEventsFuture +type TriggerSubscriptionOperationStatus = original.TriggerSubscriptionOperationStatus +type TriggerUnsubscribeTriggerFromEventsFuture = original.TriggerUnsubscribeTriggerFromEventsFuture +type TumblingWindowTrigger = original.TumblingWindowTrigger +type TumblingWindowTriggerDependencyReference = original.TumblingWindowTriggerDependencyReference +type TumblingWindowTriggerTypeProperties = original.TumblingWindowTriggerTypeProperties +type UntilActivity = original.UntilActivity +type UntilActivityTypeProperties = original.UntilActivityTypeProperties +type UserProperty = original.UserProperty +type ValidationActivity = original.ValidationActivity +type ValidationActivityTypeProperties = original.ValidationActivityTypeProperties +type VariableSpecification = original.VariableSpecification +type VerticaDatasetTypeProperties = original.VerticaDatasetTypeProperties +type VerticaLinkedService = original.VerticaLinkedService +type VerticaLinkedServiceTypeProperties = original.VerticaLinkedServiceTypeProperties +type VerticaSource = original.VerticaSource +type VerticaTableDataset = original.VerticaTableDataset +type WaitActivity = original.WaitActivity +type WaitActivityTypeProperties = original.WaitActivityTypeProperties +type WebActivity = original.WebActivity +type WebActivityAuthentication = original.WebActivityAuthentication +type WebActivityTypeProperties = original.WebActivityTypeProperties +type WebAnonymousAuthentication = original.WebAnonymousAuthentication +type WebBasicAuthentication = original.WebBasicAuthentication +type WebClientCertificateAuthentication = original.WebClientCertificateAuthentication +type WebHookActivity = original.WebHookActivity +type WebHookActivityTypeProperties = original.WebHookActivityTypeProperties +type WebLinkedService = original.WebLinkedService +type WebLinkedServiceTypeProperties = original.WebLinkedServiceTypeProperties +type WebSource = original.WebSource +type WebTableDataset = original.WebTableDataset +type WebTableDatasetTypeProperties = original.WebTableDatasetTypeProperties +type Workspace = original.Workspace +type WorkspaceIdentity = original.WorkspaceIdentity +type WorkspaceProperties = original.WorkspaceProperties +type WorkspaceUpdateParameters = original.WorkspaceUpdateParameters +type XeroLinkedService = original.XeroLinkedService +type XeroLinkedServiceTypeProperties = original.XeroLinkedServiceTypeProperties +type XeroObjectDataset = original.XeroObjectDataset +type XeroSource = original.XeroSource +type ZohoLinkedService = original.ZohoLinkedService +type ZohoLinkedServiceTypeProperties = original.ZohoLinkedServiceTypeProperties +type ZohoObjectDataset = original.ZohoObjectDataset +type ZohoSource = original.ZohoSource + +func New(endpoint string) BaseClient { + return original.New(endpoint) +} +func NewDataFlowClient(endpoint string) DataFlowClient { + return original.NewDataFlowClient(endpoint) +} +func NewDataFlowDebugSessionClient(endpoint string) DataFlowDebugSessionClient { + return original.NewDataFlowDebugSessionClient(endpoint) +} +func NewDataFlowListResponseIterator(page DataFlowListResponsePage) DataFlowListResponseIterator { + return original.NewDataFlowListResponseIterator(page) +} +func NewDataFlowListResponsePage(getNextPage func(context.Context, DataFlowListResponse) (DataFlowListResponse, error)) DataFlowListResponsePage { + return original.NewDataFlowListResponsePage(getNextPage) +} +func NewDatasetClient(endpoint string) DatasetClient { + return original.NewDatasetClient(endpoint) +} +func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator { + return original.NewDatasetListResponseIterator(page) +} +func NewDatasetListResponsePage(getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage { + return original.NewDatasetListResponsePage(getNextPage) +} +func NewLinkedServiceClient(endpoint string) LinkedServiceClient { + return original.NewLinkedServiceClient(endpoint) +} +func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator { + return original.NewLinkedServiceListResponseIterator(page) +} +func NewLinkedServiceListResponsePage(getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage { + return original.NewLinkedServiceListResponsePage(getNextPage) +} +func NewNotebookClient(endpoint string) NotebookClient { + return original.NewNotebookClient(endpoint) +} +func NewNotebookListResponseIterator(page NotebookListResponsePage) NotebookListResponseIterator { + return original.NewNotebookListResponseIterator(page) +} +func NewNotebookListResponsePage(getNextPage func(context.Context, NotebookListResponse) (NotebookListResponse, error)) NotebookListResponsePage { + return original.NewNotebookListResponsePage(getNextPage) +} +func NewPipelineClient(endpoint string) PipelineClient { + return original.NewPipelineClient(endpoint) +} +func NewPipelineListResponseIterator(page PipelineListResponsePage) PipelineListResponseIterator { + return original.NewPipelineListResponseIterator(page) +} +func NewPipelineListResponsePage(getNextPage func(context.Context, PipelineListResponse) (PipelineListResponse, error)) PipelineListResponsePage { + return original.NewPipelineListResponsePage(getNextPage) +} +func NewPipelineRunClient(endpoint string) PipelineRunClient { + return original.NewPipelineRunClient(endpoint) +} +func NewQueryDataFlowDebugSessionsResponseIterator(page QueryDataFlowDebugSessionsResponsePage) QueryDataFlowDebugSessionsResponseIterator { + return original.NewQueryDataFlowDebugSessionsResponseIterator(page) +} +func NewQueryDataFlowDebugSessionsResponsePage(getNextPage func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error)) QueryDataFlowDebugSessionsResponsePage { + return original.NewQueryDataFlowDebugSessionsResponsePage(getNextPage) +} +func NewSQLScriptClient(endpoint string) SQLScriptClient { + return original.NewSQLScriptClient(endpoint) +} +func NewSQLScriptsListResponseIterator(page SQLScriptsListResponsePage) SQLScriptsListResponseIterator { + return original.NewSQLScriptsListResponseIterator(page) +} +func NewSQLScriptsListResponsePage(getNextPage func(context.Context, SQLScriptsListResponse) (SQLScriptsListResponse, error)) SQLScriptsListResponsePage { + return original.NewSQLScriptsListResponsePage(getNextPage) +} +func NewSparkJobDefinitionClient(endpoint string) SparkJobDefinitionClient { + return original.NewSparkJobDefinitionClient(endpoint) +} +func NewSparkJobDefinitionsListResponseIterator(page SparkJobDefinitionsListResponsePage) SparkJobDefinitionsListResponseIterator { + return original.NewSparkJobDefinitionsListResponseIterator(page) +} +func NewSparkJobDefinitionsListResponsePage(getNextPage func(context.Context, SparkJobDefinitionsListResponse) (SparkJobDefinitionsListResponse, error)) SparkJobDefinitionsListResponsePage { + return original.NewSparkJobDefinitionsListResponsePage(getNextPage) +} +func NewTriggerClient(endpoint string) TriggerClient { + return original.NewTriggerClient(endpoint) +} +func NewTriggerListResponseIterator(page TriggerListResponsePage) TriggerListResponseIterator { + return original.NewTriggerListResponseIterator(page) +} +func NewTriggerListResponsePage(getNextPage func(context.Context, TriggerListResponse) (TriggerListResponse, error)) TriggerListResponsePage { + return original.NewTriggerListResponsePage(getNextPage) +} +func NewTriggerRunClient(endpoint string) TriggerRunClient { + return original.NewTriggerRunClient(endpoint) +} +func NewWithoutDefaults(endpoint string) BaseClient { + return original.NewWithoutDefaults(endpoint) +} +func PossibleAuthenticationTypeValues() []AuthenticationType { + return original.PossibleAuthenticationTypeValues() +} +func PossibleAvroCompressionCodecValues() []AvroCompressionCodec { + return original.PossibleAvroCompressionCodecValues() +} +func PossibleAzureFunctionActivityMethodValues() []AzureFunctionActivityMethod { + return original.PossibleAzureFunctionActivityMethodValues() +} +func PossibleAzureSearchIndexWriteBehaviorTypeValues() []AzureSearchIndexWriteBehaviorType { + return original.PossibleAzureSearchIndexWriteBehaviorTypeValues() +} +func PossibleBlobEventTypesValues() []BlobEventTypes { + return original.PossibleBlobEventTypesValues() +} +func PossibleCassandraSourceReadConsistencyLevelsValues() []CassandraSourceReadConsistencyLevels { + return original.PossibleCassandraSourceReadConsistencyLevelsValues() +} +func PossibleCellOutputTypeValues() []CellOutputType { + return original.PossibleCellOutputTypeValues() +} +func PossibleDataFlowComputeTypeValues() []DataFlowComputeType { + return original.PossibleDataFlowComputeTypeValues() +} +func PossibleDatasetCompressionLevelValues() []DatasetCompressionLevel { + return original.PossibleDatasetCompressionLevelValues() +} +func PossibleDayOfWeekValues() []DayOfWeek { + return original.PossibleDayOfWeekValues() +} +func PossibleDaysOfWeekValues() []DaysOfWeek { + return original.PossibleDaysOfWeekValues() +} +func PossibleDb2AuthenticationTypeValues() []Db2AuthenticationType { + return original.PossibleDb2AuthenticationTypeValues() +} +func PossibleDelimitedTextCompressionCodecValues() []DelimitedTextCompressionCodec { + return original.PossibleDelimitedTextCompressionCodecValues() +} +func PossibleDependencyConditionValues() []DependencyCondition { + return original.PossibleDependencyConditionValues() +} +func PossibleDynamicsAuthenticationTypeValues() []DynamicsAuthenticationType { + return original.PossibleDynamicsAuthenticationTypeValues() +} +func PossibleDynamicsDeploymentTypeValues() []DynamicsDeploymentType { + return original.PossibleDynamicsDeploymentTypeValues() +} +func PossibleDynamicsServicePrincipalCredentialTypeValues() []DynamicsServicePrincipalCredentialType { + return original.PossibleDynamicsServicePrincipalCredentialTypeValues() +} +func PossibleEventSubscriptionStatusValues() []EventSubscriptionStatus { + return original.PossibleEventSubscriptionStatusValues() +} +func PossibleFtpAuthenticationTypeValues() []FtpAuthenticationType { + return original.PossibleFtpAuthenticationTypeValues() +} +func PossibleGoogleAdWordsAuthenticationTypeValues() []GoogleAdWordsAuthenticationType { + return original.PossibleGoogleAdWordsAuthenticationTypeValues() +} +func PossibleGoogleBigQueryAuthenticationTypeValues() []GoogleBigQueryAuthenticationType { + return original.PossibleGoogleBigQueryAuthenticationTypeValues() +} +func PossibleHBaseAuthenticationTypeValues() []HBaseAuthenticationType { + return original.PossibleHBaseAuthenticationTypeValues() +} +func PossibleHDInsightActivityDebugInfoOptionValues() []HDInsightActivityDebugInfoOption { + return original.PossibleHDInsightActivityDebugInfoOptionValues() +} +func PossibleHTTPAuthenticationTypeValues() []HTTPAuthenticationType { + return original.PossibleHTTPAuthenticationTypeValues() +} +func PossibleHdiNodeTypesValues() []HdiNodeTypes { + return original.PossibleHdiNodeTypesValues() +} +func PossibleHiveAuthenticationTypeValues() []HiveAuthenticationType { + return original.PossibleHiveAuthenticationTypeValues() +} +func PossibleHiveServerTypeValues() []HiveServerType { + return original.PossibleHiveServerTypeValues() +} +func PossibleHiveThriftTransportProtocolValues() []HiveThriftTransportProtocol { + return original.PossibleHiveThriftTransportProtocolValues() +} +func PossibleImpalaAuthenticationTypeValues() []ImpalaAuthenticationType { + return original.PossibleImpalaAuthenticationTypeValues() +} +func PossibleJSONWriteFilePatternValues() []JSONWriteFilePattern { + return original.PossibleJSONWriteFilePatternValues() +} +func PossibleMongoDbAuthenticationTypeValues() []MongoDbAuthenticationType { + return original.PossibleMongoDbAuthenticationTypeValues() +} +func PossibleNetezzaPartitionOptionValues() []NetezzaPartitionOption { + return original.PossibleNetezzaPartitionOptionValues() +} +func PossibleODataAadServicePrincipalCredentialTypeValues() []ODataAadServicePrincipalCredentialType { + return original.PossibleODataAadServicePrincipalCredentialTypeValues() +} +func PossibleODataAuthenticationTypeValues() []ODataAuthenticationType { + return original.PossibleODataAuthenticationTypeValues() +} +func PossibleOraclePartitionOptionValues() []OraclePartitionOption { + return original.PossibleOraclePartitionOptionValues() +} +func PossibleOrcCompressionCodecValues() []OrcCompressionCodec { + return original.PossibleOrcCompressionCodecValues() +} +func PossibleParameterTypeValues() []ParameterType { + return original.PossibleParameterTypeValues() +} +func PossibleParquetCompressionCodecValues() []ParquetCompressionCodec { + return original.PossibleParquetCompressionCodecValues() +} +func PossiblePhoenixAuthenticationTypeValues() []PhoenixAuthenticationType { + return original.PossiblePhoenixAuthenticationTypeValues() +} +func PossiblePluginCurrentStateValues() []PluginCurrentState { + return original.PossiblePluginCurrentStateValues() +} +func PossiblePolybaseSettingsRejectTypeValues() []PolybaseSettingsRejectType { + return original.PossiblePolybaseSettingsRejectTypeValues() +} +func PossiblePrestoAuthenticationTypeValues() []PrestoAuthenticationType { + return original.PossiblePrestoAuthenticationTypeValues() +} +func PossibleRecurrenceFrequencyValues() []RecurrenceFrequency { + return original.PossibleRecurrenceFrequencyValues() +} +func PossibleRestServiceAuthenticationTypeValues() []RestServiceAuthenticationType { + return original.PossibleRestServiceAuthenticationTypeValues() +} +func PossibleRunQueryFilterOperandValues() []RunQueryFilterOperand { + return original.PossibleRunQueryFilterOperandValues() +} +func PossibleRunQueryFilterOperatorValues() []RunQueryFilterOperator { + return original.PossibleRunQueryFilterOperatorValues() +} +func PossibleRunQueryOrderByFieldValues() []RunQueryOrderByField { + return original.PossibleRunQueryOrderByFieldValues() +} +func PossibleRunQueryOrderValues() []RunQueryOrder { + return original.PossibleRunQueryOrderValues() +} +func PossibleSQLConnectionTypeValues() []SQLConnectionType { + return original.PossibleSQLConnectionTypeValues() +} +func PossibleSQLScriptTypeValues() []SQLScriptType { + return original.PossibleSQLScriptTypeValues() +} +func PossibleSalesforceSinkWriteBehaviorValues() []SalesforceSinkWriteBehavior { + return original.PossibleSalesforceSinkWriteBehaviorValues() +} +func PossibleSalesforceSourceReadBehaviorValues() []SalesforceSourceReadBehavior { + return original.PossibleSalesforceSourceReadBehaviorValues() +} +func PossibleSapCloudForCustomerSinkWriteBehaviorValues() []SapCloudForCustomerSinkWriteBehavior { + return original.PossibleSapCloudForCustomerSinkWriteBehaviorValues() +} +func PossibleSapHanaAuthenticationTypeValues() []SapHanaAuthenticationType { + return original.PossibleSapHanaAuthenticationTypeValues() +} +func PossibleSapHanaPartitionOptionValues() []SapHanaPartitionOption { + return original.PossibleSapHanaPartitionOptionValues() +} +func PossibleSapTablePartitionOptionValues() []SapTablePartitionOption { + return original.PossibleSapTablePartitionOptionValues() +} +func PossibleSchedulerCurrentStateValues() []SchedulerCurrentState { + return original.PossibleSchedulerCurrentStateValues() +} +func PossibleServiceNowAuthenticationTypeValues() []ServiceNowAuthenticationType { + return original.PossibleServiceNowAuthenticationTypeValues() +} +func PossibleSftpAuthenticationTypeValues() []SftpAuthenticationType { + return original.PossibleSftpAuthenticationTypeValues() +} +func PossibleSparkAuthenticationTypeValues() []SparkAuthenticationType { + return original.PossibleSparkAuthenticationTypeValues() +} +func PossibleSparkBatchJobResultTypeValues() []SparkBatchJobResultType { + return original.PossibleSparkBatchJobResultTypeValues() +} +func PossibleSparkErrorSourceValues() []SparkErrorSource { + return original.PossibleSparkErrorSourceValues() +} +func PossibleSparkJobTypeValues() []SparkJobType { + return original.PossibleSparkJobTypeValues() +} +func PossibleSparkServerTypeValues() []SparkServerType { + return original.PossibleSparkServerTypeValues() +} +func PossibleSparkThriftTransportProtocolValues() []SparkThriftTransportProtocol { + return original.PossibleSparkThriftTransportProtocolValues() +} +func PossibleSsisPackageLocationTypeValues() []SsisPackageLocationType { + return original.PossibleSsisPackageLocationTypeValues() +} +func PossibleStoredProcedureParameterTypeValues() []StoredProcedureParameterType { + return original.PossibleStoredProcedureParameterTypeValues() +} +func PossibleSybaseAuthenticationTypeValues() []SybaseAuthenticationType { + return original.PossibleSybaseAuthenticationTypeValues() +} +func PossibleTeradataAuthenticationTypeValues() []TeradataAuthenticationType { + return original.PossibleTeradataAuthenticationTypeValues() +} +func PossibleTeradataPartitionOptionValues() []TeradataPartitionOption { + return original.PossibleTeradataPartitionOptionValues() +} +func PossibleTriggerRunStatusValues() []TriggerRunStatus { + return original.PossibleTriggerRunStatusValues() +} +func PossibleTriggerRuntimeStateValues() []TriggerRuntimeState { + return original.PossibleTriggerRuntimeStateValues() +} +func PossibleTumblingWindowFrequencyValues() []TumblingWindowFrequency { + return original.PossibleTumblingWindowFrequencyValues() +} +func PossibleTypeBasicActivityValues() []TypeBasicActivity { + return original.PossibleTypeBasicActivityValues() +} +func PossibleTypeBasicCopySinkValues() []TypeBasicCopySink { + return original.PossibleTypeBasicCopySinkValues() +} +func PossibleTypeBasicCopySourceValues() []TypeBasicCopySource { + return original.PossibleTypeBasicCopySourceValues() +} +func PossibleTypeBasicDataFlowValues() []TypeBasicDataFlow { + return original.PossibleTypeBasicDataFlowValues() +} +func PossibleTypeBasicDatasetCompressionValues() []TypeBasicDatasetCompression { + return original.PossibleTypeBasicDatasetCompressionValues() +} +func PossibleTypeBasicDatasetLocationValues() []TypeBasicDatasetLocation { + return original.PossibleTypeBasicDatasetLocationValues() +} +func PossibleTypeBasicDatasetValues() []TypeBasicDataset { + return original.PossibleTypeBasicDatasetValues() +} +func PossibleTypeBasicDependencyReferenceValues() []TypeBasicDependencyReference { + return original.PossibleTypeBasicDependencyReferenceValues() +} +func PossibleTypeBasicFormatReadSettingsValues() []TypeBasicFormatReadSettings { + return original.PossibleTypeBasicFormatReadSettingsValues() +} +func PossibleTypeBasicFormatWriteSettingsValues() []TypeBasicFormatWriteSettings { + return original.PossibleTypeBasicFormatWriteSettingsValues() +} +func PossibleTypeBasicLinkedServiceValues() []TypeBasicLinkedService { + return original.PossibleTypeBasicLinkedServiceValues() +} +func PossibleTypeBasicStoreReadSettingsValues() []TypeBasicStoreReadSettings { + return original.PossibleTypeBasicStoreReadSettingsValues() +} +func PossibleTypeBasicStoreWriteSettingsValues() []TypeBasicStoreWriteSettings { + return original.PossibleTypeBasicStoreWriteSettingsValues() +} +func PossibleTypeBasicTriggerValues() []TypeBasicTrigger { + return original.PossibleTypeBasicTriggerValues() +} +func PossibleTypeValues() []Type { + return original.PossibleTypeValues() +} +func PossibleVariableTypeValues() []VariableType { + return original.PossibleVariableTypeValues() +} +func PossibleWebActivityMethodValues() []WebActivityMethod { + return original.PossibleWebActivityMethodValues() +} +func PossibleWebHookActivityMethodValues() []WebHookActivityMethod { + return original.PossibleWebHookActivityMethodValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/preview/synapse/spark/models.go b/profiles/preview/preview/synapse/spark/models.go new file mode 100644 index 000000000000..1ae0e520c46c --- /dev/null +++ b/profiles/preview/preview/synapse/spark/models.go @@ -0,0 +1,150 @@ +// +build go1.9 + +// Copyright 2020 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package spark + +import original "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-11-01-preview/spark" + +const ( + DefaultLivyAPIVersion = original.DefaultLivyAPIVersion +) + +type BatchJobResultType = original.BatchJobResultType + +const ( + Cancelled BatchJobResultType = original.Cancelled + Failed BatchJobResultType = original.Failed + Succeeded BatchJobResultType = original.Succeeded + Uncertain BatchJobResultType = original.Uncertain +) + +type ErrorSource = original.ErrorSource + +const ( + Dependency ErrorSource = original.Dependency + System ErrorSource = original.System + Unknown ErrorSource = original.Unknown + User ErrorSource = original.User +) + +type JobType = original.JobType + +const ( + SparkBatch JobType = original.SparkBatch + SparkSession JobType = original.SparkSession +) + +type PluginCurrentState = original.PluginCurrentState + +const ( + Cleanup PluginCurrentState = original.Cleanup + Ended PluginCurrentState = original.Ended + Monitoring PluginCurrentState = original.Monitoring + Preparation PluginCurrentState = original.Preparation + Queued PluginCurrentState = original.Queued + ResourceAcquisition PluginCurrentState = original.ResourceAcquisition + Submission PluginCurrentState = original.Submission +) + +type SchedulerCurrentState = original.SchedulerCurrentState + +const ( + SchedulerCurrentStateEnded SchedulerCurrentState = original.SchedulerCurrentStateEnded + SchedulerCurrentStateQueued SchedulerCurrentState = original.SchedulerCurrentStateQueued + SchedulerCurrentStateScheduled SchedulerCurrentState = original.SchedulerCurrentStateScheduled +) + +type SessionResultType = original.SessionResultType + +const ( + SessionResultTypeCancelled SessionResultType = original.SessionResultTypeCancelled + SessionResultTypeFailed SessionResultType = original.SessionResultTypeFailed + SessionResultTypeSucceeded SessionResultType = original.SessionResultTypeSucceeded + SessionResultTypeUncertain SessionResultType = original.SessionResultTypeUncertain +) + +type StatementLanguageType = original.StatementLanguageType + +const ( + Dotnetspark StatementLanguageType = original.Dotnetspark + Pyspark StatementLanguageType = original.Pyspark + Spark StatementLanguageType = original.Spark + SQL StatementLanguageType = original.SQL +) + +type BaseClient = original.BaseClient +type BatchClient = original.BatchClient +type BatchJob = original.BatchJob +type BatchJobCollection = original.BatchJobCollection +type BatchJobOptions = original.BatchJobOptions +type BatchJobState = original.BatchJobState +type Request = original.Request +type Scheduler = original.Scheduler +type ServiceError = original.ServiceError +type ServicePlugin = original.ServicePlugin +type Session = original.Session +type SessionClient = original.SessionClient +type SessionCollection = original.SessionCollection +type SessionOptions = original.SessionOptions +type SessionState = original.SessionState +type Statement = original.Statement +type StatementCancellationResult = original.StatementCancellationResult +type StatementCollection = original.StatementCollection +type StatementOptions = original.StatementOptions +type StatementOutput = original.StatementOutput + +func New(endpoint string, sparkPoolName string) BaseClient { + return original.New(endpoint, sparkPoolName) +} +func NewBatchClient(endpoint string, sparkPoolName string) BatchClient { + return original.NewBatchClient(endpoint, sparkPoolName) +} +func NewSessionClient(endpoint string, sparkPoolName string) SessionClient { + return original.NewSessionClient(endpoint, sparkPoolName) +} +func NewWithoutDefaults(endpoint string, sparkPoolName string, livyAPIVersion string) BaseClient { + return original.NewWithoutDefaults(endpoint, sparkPoolName, livyAPIVersion) +} +func PossibleBatchJobResultTypeValues() []BatchJobResultType { + return original.PossibleBatchJobResultTypeValues() +} +func PossibleErrorSourceValues() []ErrorSource { + return original.PossibleErrorSourceValues() +} +func PossibleJobTypeValues() []JobType { + return original.PossibleJobTypeValues() +} +func PossiblePluginCurrentStateValues() []PluginCurrentState { + return original.PossiblePluginCurrentStateValues() +} +func PossibleSchedulerCurrentStateValues() []SchedulerCurrentState { + return original.PossibleSchedulerCurrentStateValues() +} +func PossibleSessionResultTypeValues() []SessionResultType { + return original.PossibleSessionResultTypeValues() +} +func PossibleStatementLanguageTypeValues() []StatementLanguageType { + return original.PossibleStatementLanguageTypeValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/preview/synapse/spark/sparkapi/models.go b/profiles/preview/preview/synapse/spark/sparkapi/models.go new file mode 100644 index 000000000000..434948caf845 --- /dev/null +++ b/profiles/preview/preview/synapse/spark/sparkapi/models.go @@ -0,0 +1,25 @@ +// +build go1.9 + +// Copyright 2020 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package sparkapi + +import original "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-11-01-preview/spark/sparkapi" + +type BatchClientAPI = original.BatchClientAPI +type SessionClientAPI = original.SessionClientAPI diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/artifactsapi/interfaces.go b/services/preview/synapse/2019-06-01-preview/artifacts/artifactsapi/interfaces.go new file mode 100644 index 000000000000..62d17b0c34a8 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/artifactsapi/interfaces.go @@ -0,0 +1,152 @@ +package artifactsapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-06-01-preview/artifacts" + "github.com/Azure/go-autorest/autorest" +) + +// LinkedServiceClientAPI contains the set of methods on the LinkedServiceClient type. +type LinkedServiceClientAPI interface { + CreateOrUpdateLinkedService(ctx context.Context, linkedServiceName string, linkedService artifacts.LinkedServiceResource, ifMatch string) (result artifacts.LinkedServiceResource, err error) + DeleteLinkedService(ctx context.Context, linkedServiceName string) (result autorest.Response, err error) + GetLinkedService(ctx context.Context, linkedServiceName string, ifNoneMatch string) (result artifacts.LinkedServiceResource, err error) + GetLinkedServicesByWorkspace(ctx context.Context) (result artifacts.LinkedServiceListResponsePage, err error) + GetLinkedServicesByWorkspaceComplete(ctx context.Context) (result artifacts.LinkedServiceListResponseIterator, err error) +} + +var _ LinkedServiceClientAPI = (*artifacts.LinkedServiceClient)(nil) + +// DatasetClientAPI contains the set of methods on the DatasetClient type. +type DatasetClientAPI interface { + CreateOrUpdateDataset(ctx context.Context, datasetName string, dataset artifacts.DatasetResource, ifMatch string) (result artifacts.DatasetResource, err error) + DeleteDataset(ctx context.Context, datasetName string) (result autorest.Response, err error) + GetDataset(ctx context.Context, datasetName string, ifNoneMatch string) (result artifacts.DatasetResource, err error) + GetDatasetsByWorkspace(ctx context.Context) (result artifacts.DatasetListResponsePage, err error) + GetDatasetsByWorkspaceComplete(ctx context.Context) (result artifacts.DatasetListResponseIterator, err error) +} + +var _ DatasetClientAPI = (*artifacts.DatasetClient)(nil) + +// PipelineClientAPI contains the set of methods on the PipelineClient type. +type PipelineClientAPI interface { + CreateOrUpdatePipeline(ctx context.Context, pipelineName string, pipeline artifacts.PipelineResource, ifMatch string) (result artifacts.PipelineResource, err error) + CreatePipelineRun(ctx context.Context, pipelineName string, referencePipelineRunID string, isRecovery *bool, startActivityName string, parameters map[string]interface{}) (result artifacts.CreateRunResponse, err error) + DeletePipeline(ctx context.Context, pipelineName string) (result autorest.Response, err error) + GetPipeline(ctx context.Context, pipelineName string, ifNoneMatch string) (result artifacts.PipelineResource, err error) + GetPipelinesByWorkspace(ctx context.Context) (result artifacts.PipelineListResponsePage, err error) + GetPipelinesByWorkspaceComplete(ctx context.Context) (result artifacts.PipelineListResponseIterator, err error) +} + +var _ PipelineClientAPI = (*artifacts.PipelineClient)(nil) + +// PipelineRunClientAPI contains the set of methods on the PipelineRunClient type. +type PipelineRunClientAPI interface { + CancelPipelineRun(ctx context.Context, runID string, isRecursive *bool) (result autorest.Response, err error) + GetPipelineRun(ctx context.Context, runID string) (result artifacts.PipelineRun, err error) + QueryActivityRuns(ctx context.Context, pipelineName string, runID string, filterParameters artifacts.RunFilterParameters) (result artifacts.ActivityRunsQueryResponse, err error) + QueryPipelineRunsByWorkspace(ctx context.Context, filterParameters artifacts.RunFilterParameters) (result artifacts.PipelineRunsQueryResponse, err error) +} + +var _ PipelineRunClientAPI = (*artifacts.PipelineRunClient)(nil) + +// TriggerClientAPI contains the set of methods on the TriggerClient type. +type TriggerClientAPI interface { + CreateOrUpdateTrigger(ctx context.Context, triggerName string, trigger artifacts.TriggerResource, ifMatch string) (result artifacts.TriggerResource, err error) + DeleteTrigger(ctx context.Context, triggerName string) (result autorest.Response, err error) + GetEventSubscriptionStatus(ctx context.Context, triggerName string) (result artifacts.TriggerSubscriptionOperationStatus, err error) + GetTrigger(ctx context.Context, triggerName string, ifNoneMatch string) (result artifacts.TriggerResource, err error) + GetTriggersByWorkspace(ctx context.Context) (result artifacts.TriggerListResponsePage, err error) + GetTriggersByWorkspaceComplete(ctx context.Context) (result artifacts.TriggerListResponseIterator, err error) + StartTrigger(ctx context.Context, triggerName string) (result artifacts.TriggerStartTriggerFuture, err error) + StopTrigger(ctx context.Context, triggerName string) (result artifacts.TriggerStopTriggerFuture, err error) + SubscribeTriggerToEvents(ctx context.Context, triggerName string) (result artifacts.TriggerSubscribeTriggerToEventsFuture, err error) + UnsubscribeTriggerFromEvents(ctx context.Context, triggerName string) (result artifacts.TriggerUnsubscribeTriggerFromEventsFuture, err error) +} + +var _ TriggerClientAPI = (*artifacts.TriggerClient)(nil) + +// TriggerRunClientAPI contains the set of methods on the TriggerRunClient type. +type TriggerRunClientAPI interface { + QueryTriggerRunsByWorkspace(ctx context.Context, filterParameters artifacts.RunFilterParameters) (result artifacts.TriggerRunsQueryResponse, err error) + RerunTriggerInstance(ctx context.Context, triggerName string, runID string) (result autorest.Response, err error) +} + +var _ TriggerRunClientAPI = (*artifacts.TriggerRunClient)(nil) + +// DataFlowClientAPI contains the set of methods on the DataFlowClient type. +type DataFlowClientAPI interface { + CreateOrUpdateDataFlow(ctx context.Context, dataFlowName string, dataFlow artifacts.DataFlowResource, ifMatch string) (result artifacts.DataFlowResource, err error) + DeleteDataFlow(ctx context.Context, dataFlowName string) (result autorest.Response, err error) + GetDataFlow(ctx context.Context, dataFlowName string, ifNoneMatch string) (result artifacts.DataFlowResource, err error) + GetDataFlowsByWorkspace(ctx context.Context) (result artifacts.DataFlowListResponsePage, err error) + GetDataFlowsByWorkspaceComplete(ctx context.Context) (result artifacts.DataFlowListResponseIterator, err error) +} + +var _ DataFlowClientAPI = (*artifacts.DataFlowClient)(nil) + +// DataFlowDebugSessionClientAPI contains the set of methods on the DataFlowDebugSessionClient type. +type DataFlowDebugSessionClientAPI interface { + AddDataFlow(ctx context.Context, request artifacts.DataFlowDebugPackage) (result artifacts.AddDataFlowToDebugSessionResponse, err error) + CreateDataFlowDebugSession(ctx context.Context, request artifacts.CreateDataFlowDebugSessionRequest) (result artifacts.DataFlowDebugSessionCreateDataFlowDebugSessionFuture, err error) + DeleteDataFlowDebugSession(ctx context.Context, request artifacts.DeleteDataFlowDebugSessionRequest) (result autorest.Response, err error) + ExecuteCommand(ctx context.Context, request artifacts.DataFlowDebugCommandRequest) (result artifacts.DataFlowDebugSessionExecuteCommandFuture, err error) + QueryDataFlowDebugSessionsByWorkspace(ctx context.Context) (result artifacts.QueryDataFlowDebugSessionsResponsePage, err error) + QueryDataFlowDebugSessionsByWorkspaceComplete(ctx context.Context) (result artifacts.QueryDataFlowDebugSessionsResponseIterator, err error) +} + +var _ DataFlowDebugSessionClientAPI = (*artifacts.DataFlowDebugSessionClient)(nil) + +// SQLScriptClientAPI contains the set of methods on the SQLScriptClient type. +type SQLScriptClientAPI interface { + CreateOrUpdateSQLScript(ctx context.Context, SQLScriptName string, SQLScript artifacts.SQLScriptResource, ifMatch string) (result artifacts.SQLScriptResource, err error) + DeleteSQLScript(ctx context.Context, SQLScriptName string) (result autorest.Response, err error) + GetSQLScript(ctx context.Context, SQLScriptName string, ifNoneMatch string) (result artifacts.SQLScriptResource, err error) + GetSQLScriptsByWorkspace(ctx context.Context) (result artifacts.SQLScriptsListResponsePage, err error) + GetSQLScriptsByWorkspaceComplete(ctx context.Context) (result artifacts.SQLScriptsListResponseIterator, err error) +} + +var _ SQLScriptClientAPI = (*artifacts.SQLScriptClient)(nil) + +// SparkJobDefinitionClientAPI contains the set of methods on the SparkJobDefinitionClient type. +type SparkJobDefinitionClientAPI interface { + CreateOrUpdateSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string, sparkJobDefinition artifacts.SparkJobDefinitionResource, ifMatch string) (result artifacts.SparkJobDefinitionResource, err error) + DebugSparkJobDefinition(ctx context.Context, sparkJobDefinitionAzureResource artifacts.SparkJobDefinitionResource) (result artifacts.SparkJobDefinitionDebugSparkJobDefinitionFuture, err error) + DeleteSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string) (result autorest.Response, err error) + ExecuteSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string) (result artifacts.SparkJobDefinitionExecuteSparkJobDefinitionFuture, err error) + GetSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string, ifNoneMatch string) (result artifacts.SparkJobDefinitionResource, err error) + GetSparkJobDefinitionsByWorkspace(ctx context.Context) (result artifacts.SparkJobDefinitionsListResponsePage, err error) + GetSparkJobDefinitionsByWorkspaceComplete(ctx context.Context) (result artifacts.SparkJobDefinitionsListResponseIterator, err error) +} + +var _ SparkJobDefinitionClientAPI = (*artifacts.SparkJobDefinitionClient)(nil) + +// NotebookClientAPI contains the set of methods on the NotebookClient type. +type NotebookClientAPI interface { + CreateOrUpdateNotebook(ctx context.Context, notebookName string, notebook artifacts.NotebookResource, ifMatch string) (result artifacts.NotebookResource, err error) + DeleteNotebook(ctx context.Context, notebookName string) (result autorest.Response, err error) + GetNotebook(ctx context.Context, notebookName string, ifNoneMatch string) (result artifacts.NotebookResource, err error) + GetNotebooksByWorkspace(ctx context.Context) (result artifacts.NotebookListResponsePage, err error) + GetNotebooksByWorkspaceComplete(ctx context.Context) (result artifacts.NotebookListResponseIterator, err error) + GetNotebookSummaryByWorkSpace(ctx context.Context) (result artifacts.NotebookListResponsePage, err error) + GetNotebookSummaryByWorkSpaceComplete(ctx context.Context) (result artifacts.NotebookListResponseIterator, err error) +} + +var _ NotebookClientAPI = (*artifacts.NotebookClient)(nil) diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/client.go b/services/preview/synapse/2019-06-01-preview/artifacts/client.go new file mode 100644 index 000000000000..f5a7ab62d06c --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/client.go @@ -0,0 +1,44 @@ +// Package artifacts implements the Azure ARM Artifacts service API version 2019-06-01-preview. +// +// +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +// BaseClient is the base client for Artifacts. +type BaseClient struct { + autorest.Client + Endpoint string +} + +// New creates an instance of the BaseClient client. +func New(endpoint string) BaseClient { + return NewWithoutDefaults(endpoint) +} + +// NewWithoutDefaults creates an instance of the BaseClient client. +func NewWithoutDefaults(endpoint string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + Endpoint: endpoint, + } +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/dataflow.go b/services/preview/synapse/2019-06-01-preview/artifacts/dataflow.go new file mode 100644 index 000000000000..cfbad0165da5 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/dataflow.go @@ -0,0 +1,417 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DataFlowClient is the client for the DataFlow methods of the Artifacts service. +type DataFlowClient struct { + BaseClient +} + +// NewDataFlowClient creates an instance of the DataFlowClient client. +func NewDataFlowClient(endpoint string) DataFlowClient { + return DataFlowClient{New(endpoint)} +} + +// CreateOrUpdateDataFlow creates or updates a data flow. +// Parameters: +// dataFlowName - the data flow name. +// dataFlow - data flow resource definition. +// ifMatch - eTag of the data flow entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client DataFlowClient) CreateOrUpdateDataFlow(ctx context.Context, dataFlowName string, dataFlow DataFlowResource, ifMatch string) (result DataFlowResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowClient.CreateOrUpdateDataFlow") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: dataFlowName, + Constraints: []validation.Constraint{{Target: "dataFlowName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "dataFlowName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "dataFlowName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}, + {TargetValue: dataFlow, + Constraints: []validation.Constraint{{Target: "dataFlow.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.DataFlowClient", "CreateOrUpdateDataFlow", err.Error()) + } + + req, err := client.CreateOrUpdateDataFlowPreparer(ctx, dataFlowName, dataFlow, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "CreateOrUpdateDataFlow", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateDataFlowSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "CreateOrUpdateDataFlow", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateDataFlowResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "CreateOrUpdateDataFlow", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateDataFlowPreparer prepares the CreateOrUpdateDataFlow request. +func (client DataFlowClient) CreateOrUpdateDataFlowPreparer(ctx context.Context, dataFlowName string, dataFlow DataFlowResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "dataFlowName": autorest.Encode("path", dataFlowName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/dataflows/{dataFlowName}", pathParameters), + autorest.WithJSON(dataFlow), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateDataFlowSender sends the CreateOrUpdateDataFlow request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowClient) CreateOrUpdateDataFlowSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateDataFlowResponder handles the response to the CreateOrUpdateDataFlow request. The method always +// closes the http.Response Body. +func (client DataFlowClient) CreateOrUpdateDataFlowResponder(resp *http.Response) (result DataFlowResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteDataFlow deletes a data flow. +// Parameters: +// dataFlowName - the data flow name. +func (client DataFlowClient) DeleteDataFlow(ctx context.Context, dataFlowName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowClient.DeleteDataFlow") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: dataFlowName, + Constraints: []validation.Constraint{{Target: "dataFlowName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "dataFlowName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "dataFlowName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.DataFlowClient", "DeleteDataFlow", err.Error()) + } + + req, err := client.DeleteDataFlowPreparer(ctx, dataFlowName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "DeleteDataFlow", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteDataFlowSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "DeleteDataFlow", resp, "Failure sending request") + return + } + + result, err = client.DeleteDataFlowResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "DeleteDataFlow", resp, "Failure responding to request") + } + + return +} + +// DeleteDataFlowPreparer prepares the DeleteDataFlow request. +func (client DataFlowClient) DeleteDataFlowPreparer(ctx context.Context, dataFlowName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "dataFlowName": autorest.Encode("path", dataFlowName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/dataflows/{dataFlowName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteDataFlowSender sends the DeleteDataFlow request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowClient) DeleteDataFlowSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteDataFlowResponder handles the response to the DeleteDataFlow request. The method always +// closes the http.Response Body. +func (client DataFlowClient) DeleteDataFlowResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetDataFlow gets a data flow. +// Parameters: +// dataFlowName - the data flow name. +// ifNoneMatch - eTag of the data flow entity. Should only be specified for get. If the ETag matches the +// existing entity tag, or if * was provided, then no content will be returned. +func (client DataFlowClient) GetDataFlow(ctx context.Context, dataFlowName string, ifNoneMatch string) (result DataFlowResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowClient.GetDataFlow") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: dataFlowName, + Constraints: []validation.Constraint{{Target: "dataFlowName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "dataFlowName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "dataFlowName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.DataFlowClient", "GetDataFlow", err.Error()) + } + + req, err := client.GetDataFlowPreparer(ctx, dataFlowName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "GetDataFlow", nil, "Failure preparing request") + return + } + + resp, err := client.GetDataFlowSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "GetDataFlow", resp, "Failure sending request") + return + } + + result, err = client.GetDataFlowResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "GetDataFlow", resp, "Failure responding to request") + } + + return +} + +// GetDataFlowPreparer prepares the GetDataFlow request. +func (client DataFlowClient) GetDataFlowPreparer(ctx context.Context, dataFlowName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "dataFlowName": autorest.Encode("path", dataFlowName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/dataflows/{dataFlowName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDataFlowSender sends the GetDataFlow request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowClient) GetDataFlowSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetDataFlowResponder handles the response to the GetDataFlow request. The method always +// closes the http.Response Body. +func (client DataFlowClient) GetDataFlowResponder(resp *http.Response) (result DataFlowResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDataFlowsByWorkspace lists data flows. +func (client DataFlowClient) GetDataFlowsByWorkspace(ctx context.Context) (result DataFlowListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowClient.GetDataFlowsByWorkspace") + defer func() { + sc := -1 + if result.dflr.Response.Response != nil { + sc = result.dflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getDataFlowsByWorkspaceNextResults + req, err := client.GetDataFlowsByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "GetDataFlowsByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetDataFlowsByWorkspaceSender(req) + if err != nil { + result.dflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "GetDataFlowsByWorkspace", resp, "Failure sending request") + return + } + + result.dflr, err = client.GetDataFlowsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "GetDataFlowsByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetDataFlowsByWorkspacePreparer prepares the GetDataFlowsByWorkspace request. +func (client DataFlowClient) GetDataFlowsByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/dataflows"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDataFlowsByWorkspaceSender sends the GetDataFlowsByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowClient) GetDataFlowsByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetDataFlowsByWorkspaceResponder handles the response to the GetDataFlowsByWorkspace request. The method always +// closes the http.Response Body. +func (client DataFlowClient) GetDataFlowsByWorkspaceResponder(resp *http.Response) (result DataFlowListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getDataFlowsByWorkspaceNextResults retrieves the next set of results, if any. +func (client DataFlowClient) getDataFlowsByWorkspaceNextResults(ctx context.Context, lastResults DataFlowListResponse) (result DataFlowListResponse, err error) { + req, err := lastResults.dataFlowListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "getDataFlowsByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetDataFlowsByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "getDataFlowsByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetDataFlowsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowClient", "getDataFlowsByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetDataFlowsByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client DataFlowClient) GetDataFlowsByWorkspaceComplete(ctx context.Context) (result DataFlowListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowClient.GetDataFlowsByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetDataFlowsByWorkspace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/dataflowdebugsession.go b/services/preview/synapse/2019-06-01-preview/artifacts/dataflowdebugsession.go new file mode 100644 index 000000000000..c697afb88731 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/dataflowdebugsession.go @@ -0,0 +1,477 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DataFlowDebugSessionClient is the client for the DataFlowDebugSession methods of the Artifacts service. +type DataFlowDebugSessionClient struct { + BaseClient +} + +// NewDataFlowDebugSessionClient creates an instance of the DataFlowDebugSessionClient client. +func NewDataFlowDebugSessionClient(endpoint string) DataFlowDebugSessionClient { + return DataFlowDebugSessionClient{New(endpoint)} +} + +// AddDataFlow add a data flow into debug session. +// Parameters: +// request - data flow debug session definition with debug content. +func (client DataFlowDebugSessionClient) AddDataFlow(ctx context.Context, request DataFlowDebugPackage) (result AddDataFlowToDebugSessionResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.AddDataFlow") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.DataFlow", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.DataFlow.Properties", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "request.Staging", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.Staging.LinkedService", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.Staging.LinkedService.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.Staging.LinkedService.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.DataFlowDebugSessionClient", "AddDataFlow", err.Error()) + } + + req, err := client.AddDataFlowPreparer(ctx, request) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "AddDataFlow", nil, "Failure preparing request") + return + } + + resp, err := client.AddDataFlowSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "AddDataFlow", resp, "Failure sending request") + return + } + + result, err = client.AddDataFlowResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "AddDataFlow", resp, "Failure responding to request") + } + + return +} + +// AddDataFlowPreparer prepares the AddDataFlow request. +func (client DataFlowDebugSessionClient) AddDataFlowPreparer(ctx context.Context, request DataFlowDebugPackage) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/addDataFlowToDebugSession"), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AddDataFlowSender sends the AddDataFlow request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) AddDataFlowSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// AddDataFlowResponder handles the response to the AddDataFlow request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) AddDataFlowResponder(resp *http.Response) (result AddDataFlowToDebugSessionResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateDataFlowDebugSession creates a data flow debug session. +// Parameters: +// request - data flow debug session definition +func (client DataFlowDebugSessionClient) CreateDataFlowDebugSession(ctx context.Context, request CreateDataFlowDebugSessionRequest) (result DataFlowDebugSessionCreateDataFlowDebugSessionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.CreateDataFlowDebugSession") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.DataBricksLinkedService", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.DataBricksLinkedService.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "request.DataBricksLinkedService.Properties.ConnectVia", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.DataBricksLinkedService.Properties.ConnectVia.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.DataBricksLinkedService.Properties.ConnectVia.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.DataFlowDebugSessionClient", "CreateDataFlowDebugSession", err.Error()) + } + + req, err := client.CreateDataFlowDebugSessionPreparer(ctx, request) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "CreateDataFlowDebugSession", nil, "Failure preparing request") + return + } + + result, err = client.CreateDataFlowDebugSessionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "CreateDataFlowDebugSession", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateDataFlowDebugSessionPreparer prepares the CreateDataFlowDebugSession request. +func (client DataFlowDebugSessionClient) CreateDataFlowDebugSessionPreparer(ctx context.Context, request CreateDataFlowDebugSessionRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/createDataFlowDebugSession"), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateDataFlowDebugSessionSender sends the CreateDataFlowDebugSession request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) CreateDataFlowDebugSessionSender(req *http.Request) (future DataFlowDebugSessionCreateDataFlowDebugSessionFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateDataFlowDebugSessionResponder handles the response to the CreateDataFlowDebugSession request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) CreateDataFlowDebugSessionResponder(resp *http.Response) (result CreateDataFlowDebugSessionResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteDataFlowDebugSession deletes a data flow debug session. +// Parameters: +// request - data flow debug session definition for deletion +func (client DataFlowDebugSessionClient) DeleteDataFlowDebugSession(ctx context.Context, request DeleteDataFlowDebugSessionRequest) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.DeleteDataFlowDebugSession") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteDataFlowDebugSessionPreparer(ctx, request) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "DeleteDataFlowDebugSession", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteDataFlowDebugSessionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "DeleteDataFlowDebugSession", resp, "Failure sending request") + return + } + + result, err = client.DeleteDataFlowDebugSessionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "DeleteDataFlowDebugSession", resp, "Failure responding to request") + } + + return +} + +// DeleteDataFlowDebugSessionPreparer prepares the DeleteDataFlowDebugSession request. +func (client DataFlowDebugSessionClient) DeleteDataFlowDebugSessionPreparer(ctx context.Context, request DeleteDataFlowDebugSessionRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/deleteDataFlowDebugSession"), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteDataFlowDebugSessionSender sends the DeleteDataFlowDebugSession request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) DeleteDataFlowDebugSessionSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteDataFlowDebugSessionResponder handles the response to the DeleteDataFlowDebugSession request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) DeleteDataFlowDebugSessionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// ExecuteCommand execute a data flow debug command. +// Parameters: +// request - data flow debug command definition. +func (client DataFlowDebugSessionClient) ExecuteCommand(ctx context.Context, request DataFlowDebugCommandRequest) (result DataFlowDebugSessionExecuteCommandFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.ExecuteCommand") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.SessionID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.DataFlowDebugSessionClient", "ExecuteCommand", err.Error()) + } + + req, err := client.ExecuteCommandPreparer(ctx, request) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "ExecuteCommand", nil, "Failure preparing request") + return + } + + result, err = client.ExecuteCommandSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "ExecuteCommand", result.Response(), "Failure sending request") + return + } + + return +} + +// ExecuteCommandPreparer prepares the ExecuteCommand request. +func (client DataFlowDebugSessionClient) ExecuteCommandPreparer(ctx context.Context, request DataFlowDebugCommandRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/executeDataFlowDebugCommand"), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExecuteCommandSender sends the ExecuteCommand request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) ExecuteCommandSender(req *http.Request) (future DataFlowDebugSessionExecuteCommandFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ExecuteCommandResponder handles the response to the ExecuteCommand request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) ExecuteCommandResponder(resp *http.Response) (result DataFlowDebugCommandResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QueryDataFlowDebugSessionsByWorkspace query all active data flow debug sessions. +func (client DataFlowDebugSessionClient) QueryDataFlowDebugSessionsByWorkspace(ctx context.Context) (result QueryDataFlowDebugSessionsResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.QueryDataFlowDebugSessionsByWorkspace") + defer func() { + sc := -1 + if result.qdfdsr.Response.Response != nil { + sc = result.qdfdsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.queryDataFlowDebugSessionsByWorkspaceNextResults + req, err := client.QueryDataFlowDebugSessionsByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "QueryDataFlowDebugSessionsByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.QueryDataFlowDebugSessionsByWorkspaceSender(req) + if err != nil { + result.qdfdsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "QueryDataFlowDebugSessionsByWorkspace", resp, "Failure sending request") + return + } + + result.qdfdsr, err = client.QueryDataFlowDebugSessionsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "QueryDataFlowDebugSessionsByWorkspace", resp, "Failure responding to request") + } + + return +} + +// QueryDataFlowDebugSessionsByWorkspacePreparer prepares the QueryDataFlowDebugSessionsByWorkspace request. +func (client DataFlowDebugSessionClient) QueryDataFlowDebugSessionsByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/queryDataFlowDebugSessions"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QueryDataFlowDebugSessionsByWorkspaceSender sends the QueryDataFlowDebugSessionsByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) QueryDataFlowDebugSessionsByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// QueryDataFlowDebugSessionsByWorkspaceResponder handles the response to the QueryDataFlowDebugSessionsByWorkspace request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) QueryDataFlowDebugSessionsByWorkspaceResponder(resp *http.Response) (result QueryDataFlowDebugSessionsResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// queryDataFlowDebugSessionsByWorkspaceNextResults retrieves the next set of results, if any. +func (client DataFlowDebugSessionClient) queryDataFlowDebugSessionsByWorkspaceNextResults(ctx context.Context, lastResults QueryDataFlowDebugSessionsResponse) (result QueryDataFlowDebugSessionsResponse, err error) { + req, err := lastResults.queryDataFlowDebugSessionsResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "queryDataFlowDebugSessionsByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.QueryDataFlowDebugSessionsByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "queryDataFlowDebugSessionsByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.QueryDataFlowDebugSessionsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionClient", "queryDataFlowDebugSessionsByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// QueryDataFlowDebugSessionsByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client DataFlowDebugSessionClient) QueryDataFlowDebugSessionsByWorkspaceComplete(ctx context.Context) (result QueryDataFlowDebugSessionsResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.QueryDataFlowDebugSessionsByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.QueryDataFlowDebugSessionsByWorkspace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/dataset.go b/services/preview/synapse/2019-06-01-preview/artifacts/dataset.go new file mode 100644 index 000000000000..6e0742a9a7cf --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/dataset.go @@ -0,0 +1,422 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatasetClient is the client for the Dataset methods of the Artifacts service. +type DatasetClient struct { + BaseClient +} + +// NewDatasetClient creates an instance of the DatasetClient client. +func NewDatasetClient(endpoint string) DatasetClient { + return DatasetClient{New(endpoint)} +} + +// CreateOrUpdateDataset creates or updates a dataset. +// Parameters: +// datasetName - the dataset name. +// dataset - dataset resource definition. +// ifMatch - eTag of the dataset entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client DatasetClient) CreateOrUpdateDataset(ctx context.Context, datasetName string, dataset DatasetResource, ifMatch string) (result DatasetResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetClient.CreateOrUpdateDataset") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: datasetName, + Constraints: []validation.Constraint{{Target: "datasetName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "datasetName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "datasetName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}, + {TargetValue: dataset, + Constraints: []validation.Constraint{{Target: "dataset.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "dataset.Properties.LinkedServiceName", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "dataset.Properties.LinkedServiceName.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "dataset.Properties.LinkedServiceName.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.DatasetClient", "CreateOrUpdateDataset", err.Error()) + } + + req, err := client.CreateOrUpdateDatasetPreparer(ctx, datasetName, dataset, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "CreateOrUpdateDataset", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateDatasetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "CreateOrUpdateDataset", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateDatasetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "CreateOrUpdateDataset", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateDatasetPreparer prepares the CreateOrUpdateDataset request. +func (client DatasetClient) CreateOrUpdateDatasetPreparer(ctx context.Context, datasetName string, dataset DatasetResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "datasetName": autorest.Encode("path", datasetName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/datasets/{datasetName}", pathParameters), + autorest.WithJSON(dataset), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateDatasetSender sends the CreateOrUpdateDataset request. The method will close the +// http.Response Body if it receives an error. +func (client DatasetClient) CreateOrUpdateDatasetSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateDatasetResponder handles the response to the CreateOrUpdateDataset request. The method always +// closes the http.Response Body. +func (client DatasetClient) CreateOrUpdateDatasetResponder(resp *http.Response) (result DatasetResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteDataset deletes a dataset. +// Parameters: +// datasetName - the dataset name. +func (client DatasetClient) DeleteDataset(ctx context.Context, datasetName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetClient.DeleteDataset") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: datasetName, + Constraints: []validation.Constraint{{Target: "datasetName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "datasetName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "datasetName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.DatasetClient", "DeleteDataset", err.Error()) + } + + req, err := client.DeleteDatasetPreparer(ctx, datasetName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "DeleteDataset", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteDatasetSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "DeleteDataset", resp, "Failure sending request") + return + } + + result, err = client.DeleteDatasetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "DeleteDataset", resp, "Failure responding to request") + } + + return +} + +// DeleteDatasetPreparer prepares the DeleteDataset request. +func (client DatasetClient) DeleteDatasetPreparer(ctx context.Context, datasetName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "datasetName": autorest.Encode("path", datasetName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/datasets/{datasetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteDatasetSender sends the DeleteDataset request. The method will close the +// http.Response Body if it receives an error. +func (client DatasetClient) DeleteDatasetSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteDatasetResponder handles the response to the DeleteDataset request. The method always +// closes the http.Response Body. +func (client DatasetClient) DeleteDatasetResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetDataset gets a dataset. +// Parameters: +// datasetName - the dataset name. +// ifNoneMatch - eTag of the dataset entity. Should only be specified for get. If the ETag matches the existing +// entity tag, or if * was provided, then no content will be returned. +func (client DatasetClient) GetDataset(ctx context.Context, datasetName string, ifNoneMatch string) (result DatasetResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetClient.GetDataset") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: datasetName, + Constraints: []validation.Constraint{{Target: "datasetName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "datasetName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "datasetName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.DatasetClient", "GetDataset", err.Error()) + } + + req, err := client.GetDatasetPreparer(ctx, datasetName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "GetDataset", nil, "Failure preparing request") + return + } + + resp, err := client.GetDatasetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "GetDataset", resp, "Failure sending request") + return + } + + result, err = client.GetDatasetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "GetDataset", resp, "Failure responding to request") + } + + return +} + +// GetDatasetPreparer prepares the GetDataset request. +func (client DatasetClient) GetDatasetPreparer(ctx context.Context, datasetName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "datasetName": autorest.Encode("path", datasetName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/datasets/{datasetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDatasetSender sends the GetDataset request. The method will close the +// http.Response Body if it receives an error. +func (client DatasetClient) GetDatasetSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetDatasetResponder handles the response to the GetDataset request. The method always +// closes the http.Response Body. +func (client DatasetClient) GetDatasetResponder(resp *http.Response) (result DatasetResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotModified), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDatasetsByWorkspace lists datasets. +func (client DatasetClient) GetDatasetsByWorkspace(ctx context.Context) (result DatasetListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetClient.GetDatasetsByWorkspace") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getDatasetsByWorkspaceNextResults + req, err := client.GetDatasetsByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "GetDatasetsByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetDatasetsByWorkspaceSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "GetDatasetsByWorkspace", resp, "Failure sending request") + return + } + + result.dlr, err = client.GetDatasetsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "GetDatasetsByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetDatasetsByWorkspacePreparer prepares the GetDatasetsByWorkspace request. +func (client DatasetClient) GetDatasetsByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/datasets"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDatasetsByWorkspaceSender sends the GetDatasetsByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client DatasetClient) GetDatasetsByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetDatasetsByWorkspaceResponder handles the response to the GetDatasetsByWorkspace request. The method always +// closes the http.Response Body. +func (client DatasetClient) GetDatasetsByWorkspaceResponder(resp *http.Response) (result DatasetListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getDatasetsByWorkspaceNextResults retrieves the next set of results, if any. +func (client DatasetClient) getDatasetsByWorkspaceNextResults(ctx context.Context, lastResults DatasetListResponse) (result DatasetListResponse, err error) { + req, err := lastResults.datasetListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.DatasetClient", "getDatasetsByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetDatasetsByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.DatasetClient", "getDatasetsByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetDatasetsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DatasetClient", "getDatasetsByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetDatasetsByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client DatasetClient) GetDatasetsByWorkspaceComplete(ctx context.Context) (result DatasetListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetClient.GetDatasetsByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetDatasetsByWorkspace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/linkedservice.go b/services/preview/synapse/2019-06-01-preview/artifacts/linkedservice.go new file mode 100644 index 000000000000..7279dcc92931 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/linkedservice.go @@ -0,0 +1,422 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LinkedServiceClient is the client for the LinkedService methods of the Artifacts service. +type LinkedServiceClient struct { + BaseClient +} + +// NewLinkedServiceClient creates an instance of the LinkedServiceClient client. +func NewLinkedServiceClient(endpoint string) LinkedServiceClient { + return LinkedServiceClient{New(endpoint)} +} + +// CreateOrUpdateLinkedService creates or updates a linked service. +// Parameters: +// linkedServiceName - the linked service name. +// linkedService - linked service resource definition. +// ifMatch - eTag of the linkedService entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client LinkedServiceClient) CreateOrUpdateLinkedService(ctx context.Context, linkedServiceName string, linkedService LinkedServiceResource, ifMatch string) (result LinkedServiceResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceClient.CreateOrUpdateLinkedService") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: linkedServiceName, + Constraints: []validation.Constraint{{Target: "linkedServiceName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "linkedServiceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "linkedServiceName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}, + {TargetValue: linkedService, + Constraints: []validation.Constraint{{Target: "linkedService.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "linkedService.Properties.ConnectVia", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "linkedService.Properties.ConnectVia.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "linkedService.Properties.ConnectVia.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.LinkedServiceClient", "CreateOrUpdateLinkedService", err.Error()) + } + + req, err := client.CreateOrUpdateLinkedServicePreparer(ctx, linkedServiceName, linkedService, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "CreateOrUpdateLinkedService", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateLinkedServiceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "CreateOrUpdateLinkedService", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateLinkedServiceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "CreateOrUpdateLinkedService", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateLinkedServicePreparer prepares the CreateOrUpdateLinkedService request. +func (client LinkedServiceClient) CreateOrUpdateLinkedServicePreparer(ctx context.Context, linkedServiceName string, linkedService LinkedServiceResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "linkedServiceName": autorest.Encode("path", linkedServiceName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/linkedservices/{linkedServiceName}", pathParameters), + autorest.WithJSON(linkedService), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateLinkedServiceSender sends the CreateOrUpdateLinkedService request. The method will close the +// http.Response Body if it receives an error. +func (client LinkedServiceClient) CreateOrUpdateLinkedServiceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateLinkedServiceResponder handles the response to the CreateOrUpdateLinkedService request. The method always +// closes the http.Response Body. +func (client LinkedServiceClient) CreateOrUpdateLinkedServiceResponder(resp *http.Response) (result LinkedServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteLinkedService deletes a linked service. +// Parameters: +// linkedServiceName - the linked service name. +func (client LinkedServiceClient) DeleteLinkedService(ctx context.Context, linkedServiceName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceClient.DeleteLinkedService") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: linkedServiceName, + Constraints: []validation.Constraint{{Target: "linkedServiceName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "linkedServiceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "linkedServiceName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.LinkedServiceClient", "DeleteLinkedService", err.Error()) + } + + req, err := client.DeleteLinkedServicePreparer(ctx, linkedServiceName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "DeleteLinkedService", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteLinkedServiceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "DeleteLinkedService", resp, "Failure sending request") + return + } + + result, err = client.DeleteLinkedServiceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "DeleteLinkedService", resp, "Failure responding to request") + } + + return +} + +// DeleteLinkedServicePreparer prepares the DeleteLinkedService request. +func (client LinkedServiceClient) DeleteLinkedServicePreparer(ctx context.Context, linkedServiceName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "linkedServiceName": autorest.Encode("path", linkedServiceName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/linkedservices/{linkedServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteLinkedServiceSender sends the DeleteLinkedService request. The method will close the +// http.Response Body if it receives an error. +func (client LinkedServiceClient) DeleteLinkedServiceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteLinkedServiceResponder handles the response to the DeleteLinkedService request. The method always +// closes the http.Response Body. +func (client LinkedServiceClient) DeleteLinkedServiceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetLinkedService gets a linked service. +// Parameters: +// linkedServiceName - the linked service name. +// ifNoneMatch - eTag of the linked service entity. Should only be specified for get. If the ETag matches the +// existing entity tag, or if * was provided, then no content will be returned. +func (client LinkedServiceClient) GetLinkedService(ctx context.Context, linkedServiceName string, ifNoneMatch string) (result LinkedServiceResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceClient.GetLinkedService") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: linkedServiceName, + Constraints: []validation.Constraint{{Target: "linkedServiceName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "linkedServiceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "linkedServiceName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.LinkedServiceClient", "GetLinkedService", err.Error()) + } + + req, err := client.GetLinkedServicePreparer(ctx, linkedServiceName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "GetLinkedService", nil, "Failure preparing request") + return + } + + resp, err := client.GetLinkedServiceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "GetLinkedService", resp, "Failure sending request") + return + } + + result, err = client.GetLinkedServiceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "GetLinkedService", resp, "Failure responding to request") + } + + return +} + +// GetLinkedServicePreparer prepares the GetLinkedService request. +func (client LinkedServiceClient) GetLinkedServicePreparer(ctx context.Context, linkedServiceName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "linkedServiceName": autorest.Encode("path", linkedServiceName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/linkedservices/{linkedServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetLinkedServiceSender sends the GetLinkedService request. The method will close the +// http.Response Body if it receives an error. +func (client LinkedServiceClient) GetLinkedServiceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetLinkedServiceResponder handles the response to the GetLinkedService request. The method always +// closes the http.Response Body. +func (client LinkedServiceClient) GetLinkedServiceResponder(resp *http.Response) (result LinkedServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotModified), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetLinkedServicesByWorkspace lists linked services. +func (client LinkedServiceClient) GetLinkedServicesByWorkspace(ctx context.Context) (result LinkedServiceListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceClient.GetLinkedServicesByWorkspace") + defer func() { + sc := -1 + if result.lslr.Response.Response != nil { + sc = result.lslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getLinkedServicesByWorkspaceNextResults + req, err := client.GetLinkedServicesByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "GetLinkedServicesByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetLinkedServicesByWorkspaceSender(req) + if err != nil { + result.lslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "GetLinkedServicesByWorkspace", resp, "Failure sending request") + return + } + + result.lslr, err = client.GetLinkedServicesByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "GetLinkedServicesByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetLinkedServicesByWorkspacePreparer prepares the GetLinkedServicesByWorkspace request. +func (client LinkedServiceClient) GetLinkedServicesByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/linkedservices"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetLinkedServicesByWorkspaceSender sends the GetLinkedServicesByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client LinkedServiceClient) GetLinkedServicesByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetLinkedServicesByWorkspaceResponder handles the response to the GetLinkedServicesByWorkspace request. The method always +// closes the http.Response Body. +func (client LinkedServiceClient) GetLinkedServicesByWorkspaceResponder(resp *http.Response) (result LinkedServiceListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getLinkedServicesByWorkspaceNextResults retrieves the next set of results, if any. +func (client LinkedServiceClient) getLinkedServicesByWorkspaceNextResults(ctx context.Context, lastResults LinkedServiceListResponse) (result LinkedServiceListResponse, err error) { + req, err := lastResults.linkedServiceListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "getLinkedServicesByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetLinkedServicesByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "getLinkedServicesByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetLinkedServicesByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceClient", "getLinkedServicesByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetLinkedServicesByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client LinkedServiceClient) GetLinkedServicesByWorkspaceComplete(ctx context.Context) (result LinkedServiceListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceClient.GetLinkedServicesByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetLinkedServicesByWorkspace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/models.go b/services/preview/synapse/2019-06-01-preview/artifacts/models.go new file mode 100644 index 000000000000..bf9e2f7e9a50 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/models.go @@ -0,0 +1,212003 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-06-01-preview/artifacts" + +// AuthenticationType enumerates the values for authentication type. +type AuthenticationType string + +const ( + // AuthenticationTypeAnonymous ... + AuthenticationTypeAnonymous AuthenticationType = "Anonymous" + // AuthenticationTypeBasic ... + AuthenticationTypeBasic AuthenticationType = "Basic" + // AuthenticationTypeClientCertificate ... + AuthenticationTypeClientCertificate AuthenticationType = "ClientCertificate" + // AuthenticationTypeWebLinkedServiceTypeProperties ... + AuthenticationTypeWebLinkedServiceTypeProperties AuthenticationType = "WebLinkedServiceTypeProperties" +) + +// PossibleAuthenticationTypeValues returns an array of possible values for the AuthenticationType const type. +func PossibleAuthenticationTypeValues() []AuthenticationType { + return []AuthenticationType{AuthenticationTypeAnonymous, AuthenticationTypeBasic, AuthenticationTypeClientCertificate, AuthenticationTypeWebLinkedServiceTypeProperties} +} + +// AvroCompressionCodec enumerates the values for avro compression codec. +type AvroCompressionCodec string + +const ( + // Bzip2 ... + Bzip2 AvroCompressionCodec = "bzip2" + // Deflate ... + Deflate AvroCompressionCodec = "deflate" + // None ... + None AvroCompressionCodec = "none" + // Snappy ... + Snappy AvroCompressionCodec = "snappy" + // Xz ... + Xz AvroCompressionCodec = "xz" +) + +// PossibleAvroCompressionCodecValues returns an array of possible values for the AvroCompressionCodec const type. +func PossibleAvroCompressionCodecValues() []AvroCompressionCodec { + return []AvroCompressionCodec{Bzip2, Deflate, None, Snappy, Xz} +} + +// AzureFunctionActivityMethod enumerates the values for azure function activity method. +type AzureFunctionActivityMethod string + +const ( + // DELETE ... + DELETE AzureFunctionActivityMethod = "DELETE" + // GET ... + GET AzureFunctionActivityMethod = "GET" + // HEAD ... + HEAD AzureFunctionActivityMethod = "HEAD" + // OPTIONS ... + OPTIONS AzureFunctionActivityMethod = "OPTIONS" + // POST ... + POST AzureFunctionActivityMethod = "POST" + // PUT ... + PUT AzureFunctionActivityMethod = "PUT" + // TRACE ... + TRACE AzureFunctionActivityMethod = "TRACE" +) + +// PossibleAzureFunctionActivityMethodValues returns an array of possible values for the AzureFunctionActivityMethod const type. +func PossibleAzureFunctionActivityMethodValues() []AzureFunctionActivityMethod { + return []AzureFunctionActivityMethod{DELETE, GET, HEAD, OPTIONS, POST, PUT, TRACE} +} + +// AzureSearchIndexWriteBehaviorType enumerates the values for azure search index write behavior type. +type AzureSearchIndexWriteBehaviorType string + +const ( + // Merge ... + Merge AzureSearchIndexWriteBehaviorType = "Merge" + // Upload ... + Upload AzureSearchIndexWriteBehaviorType = "Upload" +) + +// PossibleAzureSearchIndexWriteBehaviorTypeValues returns an array of possible values for the AzureSearchIndexWriteBehaviorType const type. +func PossibleAzureSearchIndexWriteBehaviorTypeValues() []AzureSearchIndexWriteBehaviorType { + return []AzureSearchIndexWriteBehaviorType{Merge, Upload} +} + +// BlobEventTypes enumerates the values for blob event types. +type BlobEventTypes string + +const ( + // MicrosoftStorageBlobCreated ... + MicrosoftStorageBlobCreated BlobEventTypes = "Microsoft.Storage.BlobCreated" + // MicrosoftStorageBlobDeleted ... + MicrosoftStorageBlobDeleted BlobEventTypes = "Microsoft.Storage.BlobDeleted" +) + +// PossibleBlobEventTypesValues returns an array of possible values for the BlobEventTypes const type. +func PossibleBlobEventTypesValues() []BlobEventTypes { + return []BlobEventTypes{MicrosoftStorageBlobCreated, MicrosoftStorageBlobDeleted} +} + +// CassandraSourceReadConsistencyLevels enumerates the values for cassandra source read consistency levels. +type CassandraSourceReadConsistencyLevels string + +const ( + // ALL ... + ALL CassandraSourceReadConsistencyLevels = "ALL" + // EACHQUORUM ... + EACHQUORUM CassandraSourceReadConsistencyLevels = "EACH_QUORUM" + // LOCALONE ... + LOCALONE CassandraSourceReadConsistencyLevels = "LOCAL_ONE" + // LOCALQUORUM ... + LOCALQUORUM CassandraSourceReadConsistencyLevels = "LOCAL_QUORUM" + // LOCALSERIAL ... + LOCALSERIAL CassandraSourceReadConsistencyLevels = "LOCAL_SERIAL" + // ONE ... + ONE CassandraSourceReadConsistencyLevels = "ONE" + // QUORUM ... + QUORUM CassandraSourceReadConsistencyLevels = "QUORUM" + // SERIAL ... + SERIAL CassandraSourceReadConsistencyLevels = "SERIAL" + // THREE ... + THREE CassandraSourceReadConsistencyLevels = "THREE" + // TWO ... + TWO CassandraSourceReadConsistencyLevels = "TWO" +) + +// PossibleCassandraSourceReadConsistencyLevelsValues returns an array of possible values for the CassandraSourceReadConsistencyLevels const type. +func PossibleCassandraSourceReadConsistencyLevelsValues() []CassandraSourceReadConsistencyLevels { + return []CassandraSourceReadConsistencyLevels{ALL, EACHQUORUM, LOCALONE, LOCALQUORUM, LOCALSERIAL, ONE, QUORUM, SERIAL, THREE, TWO} +} + +// CellOutputType enumerates the values for cell output type. +type CellOutputType string + +const ( + // DisplayData ... + DisplayData CellOutputType = "display_data" + // Error ... + Error CellOutputType = "error" + // ExecuteResult ... + ExecuteResult CellOutputType = "execute_result" + // Stream ... + Stream CellOutputType = "stream" +) + +// PossibleCellOutputTypeValues returns an array of possible values for the CellOutputType const type. +func PossibleCellOutputTypeValues() []CellOutputType { + return []CellOutputType{DisplayData, Error, ExecuteResult, Stream} +} + +// DataFlowComputeType enumerates the values for data flow compute type. +type DataFlowComputeType string + +const ( + // ComputeOptimized ... + ComputeOptimized DataFlowComputeType = "ComputeOptimized" + // General ... + General DataFlowComputeType = "General" + // MemoryOptimized ... + MemoryOptimized DataFlowComputeType = "MemoryOptimized" +) + +// PossibleDataFlowComputeTypeValues returns an array of possible values for the DataFlowComputeType const type. +func PossibleDataFlowComputeTypeValues() []DataFlowComputeType { + return []DataFlowComputeType{ComputeOptimized, General, MemoryOptimized} +} + +// DatasetCompressionLevel enumerates the values for dataset compression level. +type DatasetCompressionLevel string + +const ( + // Fastest ... + Fastest DatasetCompressionLevel = "Fastest" + // Optimal ... + Optimal DatasetCompressionLevel = "Optimal" +) + +// PossibleDatasetCompressionLevelValues returns an array of possible values for the DatasetCompressionLevel const type. +func PossibleDatasetCompressionLevelValues() []DatasetCompressionLevel { + return []DatasetCompressionLevel{Fastest, Optimal} +} + +// DayOfWeek enumerates the values for day of week. +type DayOfWeek string + +const ( + // Friday ... + Friday DayOfWeek = "Friday" + // Monday ... + Monday DayOfWeek = "Monday" + // Saturday ... + Saturday DayOfWeek = "Saturday" + // Sunday ... + Sunday DayOfWeek = "Sunday" + // Thursday ... + Thursday DayOfWeek = "Thursday" + // Tuesday ... + Tuesday DayOfWeek = "Tuesday" + // Wednesday ... + Wednesday DayOfWeek = "Wednesday" +) + +// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type. +func PossibleDayOfWeekValues() []DayOfWeek { + return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday} +} + +// DaysOfWeek enumerates the values for days of week. +type DaysOfWeek string + +const ( + // DaysOfWeekFriday ... + DaysOfWeekFriday DaysOfWeek = "Friday" + // DaysOfWeekMonday ... + DaysOfWeekMonday DaysOfWeek = "Monday" + // DaysOfWeekSaturday ... + DaysOfWeekSaturday DaysOfWeek = "Saturday" + // DaysOfWeekSunday ... + DaysOfWeekSunday DaysOfWeek = "Sunday" + // DaysOfWeekThursday ... + DaysOfWeekThursday DaysOfWeek = "Thursday" + // DaysOfWeekTuesday ... + DaysOfWeekTuesday DaysOfWeek = "Tuesday" + // DaysOfWeekWednesday ... + DaysOfWeekWednesday DaysOfWeek = "Wednesday" +) + +// PossibleDaysOfWeekValues returns an array of possible values for the DaysOfWeek const type. +func PossibleDaysOfWeekValues() []DaysOfWeek { + return []DaysOfWeek{DaysOfWeekFriday, DaysOfWeekMonday, DaysOfWeekSaturday, DaysOfWeekSunday, DaysOfWeekThursday, DaysOfWeekTuesday, DaysOfWeekWednesday} +} + +// Db2AuthenticationType enumerates the values for db 2 authentication type. +type Db2AuthenticationType string + +const ( + // Basic ... + Basic Db2AuthenticationType = "Basic" +) + +// PossibleDb2AuthenticationTypeValues returns an array of possible values for the Db2AuthenticationType const type. +func PossibleDb2AuthenticationTypeValues() []Db2AuthenticationType { + return []Db2AuthenticationType{Basic} +} + +// DelimitedTextCompressionCodec enumerates the values for delimited text compression codec. +type DelimitedTextCompressionCodec string + +const ( + // DelimitedTextCompressionCodecBzip2 ... + DelimitedTextCompressionCodecBzip2 DelimitedTextCompressionCodec = "bzip2" + // DelimitedTextCompressionCodecDeflate ... + DelimitedTextCompressionCodecDeflate DelimitedTextCompressionCodec = "deflate" + // DelimitedTextCompressionCodecGzip ... + DelimitedTextCompressionCodecGzip DelimitedTextCompressionCodec = "gzip" + // DelimitedTextCompressionCodecLz4 ... + DelimitedTextCompressionCodecLz4 DelimitedTextCompressionCodec = "lz4" + // DelimitedTextCompressionCodecSnappy ... + DelimitedTextCompressionCodecSnappy DelimitedTextCompressionCodec = "snappy" + // DelimitedTextCompressionCodecZipDeflate ... + DelimitedTextCompressionCodecZipDeflate DelimitedTextCompressionCodec = "zipDeflate" +) + +// PossibleDelimitedTextCompressionCodecValues returns an array of possible values for the DelimitedTextCompressionCodec const type. +func PossibleDelimitedTextCompressionCodecValues() []DelimitedTextCompressionCodec { + return []DelimitedTextCompressionCodec{DelimitedTextCompressionCodecBzip2, DelimitedTextCompressionCodecDeflate, DelimitedTextCompressionCodecGzip, DelimitedTextCompressionCodecLz4, DelimitedTextCompressionCodecSnappy, DelimitedTextCompressionCodecZipDeflate} +} + +// DependencyCondition enumerates the values for dependency condition. +type DependencyCondition string + +const ( + // Completed ... + Completed DependencyCondition = "Completed" + // Failed ... + Failed DependencyCondition = "Failed" + // Skipped ... + Skipped DependencyCondition = "Skipped" + // Succeeded ... + Succeeded DependencyCondition = "Succeeded" +) + +// PossibleDependencyConditionValues returns an array of possible values for the DependencyCondition const type. +func PossibleDependencyConditionValues() []DependencyCondition { + return []DependencyCondition{Completed, Failed, Skipped, Succeeded} +} + +// DynamicsAuthenticationType enumerates the values for dynamics authentication type. +type DynamicsAuthenticationType string + +const ( + // AADServicePrincipal ... + AADServicePrincipal DynamicsAuthenticationType = "AADServicePrincipal" + // Ifd ... + Ifd DynamicsAuthenticationType = "Ifd" + // Office365 ... + Office365 DynamicsAuthenticationType = "Office365" +) + +// PossibleDynamicsAuthenticationTypeValues returns an array of possible values for the DynamicsAuthenticationType const type. +func PossibleDynamicsAuthenticationTypeValues() []DynamicsAuthenticationType { + return []DynamicsAuthenticationType{AADServicePrincipal, Ifd, Office365} +} + +// DynamicsDeploymentType enumerates the values for dynamics deployment type. +type DynamicsDeploymentType string + +const ( + // Online ... + Online DynamicsDeploymentType = "Online" + // OnPremisesWithIfd ... + OnPremisesWithIfd DynamicsDeploymentType = "OnPremisesWithIfd" +) + +// PossibleDynamicsDeploymentTypeValues returns an array of possible values for the DynamicsDeploymentType const type. +func PossibleDynamicsDeploymentTypeValues() []DynamicsDeploymentType { + return []DynamicsDeploymentType{Online, OnPremisesWithIfd} +} + +// DynamicsServicePrincipalCredentialType enumerates the values for dynamics service principal credential type. +type DynamicsServicePrincipalCredentialType string + +const ( + // ServicePrincipalCert ... + ServicePrincipalCert DynamicsServicePrincipalCredentialType = "ServicePrincipalCert" + // ServicePrincipalKey ... + ServicePrincipalKey DynamicsServicePrincipalCredentialType = "ServicePrincipalKey" +) + +// PossibleDynamicsServicePrincipalCredentialTypeValues returns an array of possible values for the DynamicsServicePrincipalCredentialType const type. +func PossibleDynamicsServicePrincipalCredentialTypeValues() []DynamicsServicePrincipalCredentialType { + return []DynamicsServicePrincipalCredentialType{ServicePrincipalCert, ServicePrincipalKey} +} + +// EventSubscriptionStatus enumerates the values for event subscription status. +type EventSubscriptionStatus string + +const ( + // Deprovisioning ... + Deprovisioning EventSubscriptionStatus = "Deprovisioning" + // Disabled ... + Disabled EventSubscriptionStatus = "Disabled" + // Enabled ... + Enabled EventSubscriptionStatus = "Enabled" + // Provisioning ... + Provisioning EventSubscriptionStatus = "Provisioning" + // Unknown ... + Unknown EventSubscriptionStatus = "Unknown" +) + +// PossibleEventSubscriptionStatusValues returns an array of possible values for the EventSubscriptionStatus const type. +func PossibleEventSubscriptionStatusValues() []EventSubscriptionStatus { + return []EventSubscriptionStatus{Deprovisioning, Disabled, Enabled, Provisioning, Unknown} +} + +// FtpAuthenticationType enumerates the values for ftp authentication type. +type FtpAuthenticationType string + +const ( + // FtpAuthenticationTypeAnonymous ... + FtpAuthenticationTypeAnonymous FtpAuthenticationType = "Anonymous" + // FtpAuthenticationTypeBasic ... + FtpAuthenticationTypeBasic FtpAuthenticationType = "Basic" +) + +// PossibleFtpAuthenticationTypeValues returns an array of possible values for the FtpAuthenticationType const type. +func PossibleFtpAuthenticationTypeValues() []FtpAuthenticationType { + return []FtpAuthenticationType{FtpAuthenticationTypeAnonymous, FtpAuthenticationTypeBasic} +} + +// GoogleAdWordsAuthenticationType enumerates the values for google ad words authentication type. +type GoogleAdWordsAuthenticationType string + +const ( + // ServiceAuthentication ... + ServiceAuthentication GoogleAdWordsAuthenticationType = "ServiceAuthentication" + // UserAuthentication ... + UserAuthentication GoogleAdWordsAuthenticationType = "UserAuthentication" +) + +// PossibleGoogleAdWordsAuthenticationTypeValues returns an array of possible values for the GoogleAdWordsAuthenticationType const type. +func PossibleGoogleAdWordsAuthenticationTypeValues() []GoogleAdWordsAuthenticationType { + return []GoogleAdWordsAuthenticationType{ServiceAuthentication, UserAuthentication} +} + +// GoogleBigQueryAuthenticationType enumerates the values for google big query authentication type. +type GoogleBigQueryAuthenticationType string + +const ( + // GoogleBigQueryAuthenticationTypeServiceAuthentication ... + GoogleBigQueryAuthenticationTypeServiceAuthentication GoogleBigQueryAuthenticationType = "ServiceAuthentication" + // GoogleBigQueryAuthenticationTypeUserAuthentication ... + GoogleBigQueryAuthenticationTypeUserAuthentication GoogleBigQueryAuthenticationType = "UserAuthentication" +) + +// PossibleGoogleBigQueryAuthenticationTypeValues returns an array of possible values for the GoogleBigQueryAuthenticationType const type. +func PossibleGoogleBigQueryAuthenticationTypeValues() []GoogleBigQueryAuthenticationType { + return []GoogleBigQueryAuthenticationType{GoogleBigQueryAuthenticationTypeServiceAuthentication, GoogleBigQueryAuthenticationTypeUserAuthentication} +} + +// HBaseAuthenticationType enumerates the values for h base authentication type. +type HBaseAuthenticationType string + +const ( + // HBaseAuthenticationTypeAnonymous ... + HBaseAuthenticationTypeAnonymous HBaseAuthenticationType = "Anonymous" + // HBaseAuthenticationTypeBasic ... + HBaseAuthenticationTypeBasic HBaseAuthenticationType = "Basic" +) + +// PossibleHBaseAuthenticationTypeValues returns an array of possible values for the HBaseAuthenticationType const type. +func PossibleHBaseAuthenticationTypeValues() []HBaseAuthenticationType { + return []HBaseAuthenticationType{HBaseAuthenticationTypeAnonymous, HBaseAuthenticationTypeBasic} +} + +// HdiNodeTypes enumerates the values for hdi node types. +type HdiNodeTypes string + +const ( + // Headnode ... + Headnode HdiNodeTypes = "Headnode" + // Workernode ... + Workernode HdiNodeTypes = "Workernode" + // Zookeeper ... + Zookeeper HdiNodeTypes = "Zookeeper" +) + +// PossibleHdiNodeTypesValues returns an array of possible values for the HdiNodeTypes const type. +func PossibleHdiNodeTypesValues() []HdiNodeTypes { + return []HdiNodeTypes{Headnode, Workernode, Zookeeper} +} + +// HDInsightActivityDebugInfoOption enumerates the values for hd insight activity debug info option. +type HDInsightActivityDebugInfoOption string + +const ( + // HDInsightActivityDebugInfoOptionAlways ... + HDInsightActivityDebugInfoOptionAlways HDInsightActivityDebugInfoOption = "Always" + // HDInsightActivityDebugInfoOptionFailure ... + HDInsightActivityDebugInfoOptionFailure HDInsightActivityDebugInfoOption = "Failure" + // HDInsightActivityDebugInfoOptionNone ... + HDInsightActivityDebugInfoOptionNone HDInsightActivityDebugInfoOption = "None" +) + +// PossibleHDInsightActivityDebugInfoOptionValues returns an array of possible values for the HDInsightActivityDebugInfoOption const type. +func PossibleHDInsightActivityDebugInfoOptionValues() []HDInsightActivityDebugInfoOption { + return []HDInsightActivityDebugInfoOption{HDInsightActivityDebugInfoOptionAlways, HDInsightActivityDebugInfoOptionFailure, HDInsightActivityDebugInfoOptionNone} +} + +// HiveAuthenticationType enumerates the values for hive authentication type. +type HiveAuthenticationType string + +const ( + // Anonymous ... + Anonymous HiveAuthenticationType = "Anonymous" + // Username ... + Username HiveAuthenticationType = "Username" + // UsernameAndPassword ... + UsernameAndPassword HiveAuthenticationType = "UsernameAndPassword" + // WindowsAzureHDInsightService ... + WindowsAzureHDInsightService HiveAuthenticationType = "WindowsAzureHDInsightService" +) + +// PossibleHiveAuthenticationTypeValues returns an array of possible values for the HiveAuthenticationType const type. +func PossibleHiveAuthenticationTypeValues() []HiveAuthenticationType { + return []HiveAuthenticationType{Anonymous, Username, UsernameAndPassword, WindowsAzureHDInsightService} +} + +// HiveServerType enumerates the values for hive server type. +type HiveServerType string + +const ( + // HiveServer1 ... + HiveServer1 HiveServerType = "HiveServer1" + // HiveServer2 ... + HiveServer2 HiveServerType = "HiveServer2" + // HiveThriftServer ... + HiveThriftServer HiveServerType = "HiveThriftServer" +) + +// PossibleHiveServerTypeValues returns an array of possible values for the HiveServerType const type. +func PossibleHiveServerTypeValues() []HiveServerType { + return []HiveServerType{HiveServer1, HiveServer2, HiveThriftServer} +} + +// HiveThriftTransportProtocol enumerates the values for hive thrift transport protocol. +type HiveThriftTransportProtocol string + +const ( + // Binary ... + Binary HiveThriftTransportProtocol = "Binary" + // HTTP ... + HTTP HiveThriftTransportProtocol = "HTTP " + // SASL ... + SASL HiveThriftTransportProtocol = "SASL" +) + +// PossibleHiveThriftTransportProtocolValues returns an array of possible values for the HiveThriftTransportProtocol const type. +func PossibleHiveThriftTransportProtocolValues() []HiveThriftTransportProtocol { + return []HiveThriftTransportProtocol{Binary, HTTP, SASL} +} + +// HTTPAuthenticationType enumerates the values for http authentication type. +type HTTPAuthenticationType string + +const ( + // HTTPAuthenticationTypeAnonymous ... + HTTPAuthenticationTypeAnonymous HTTPAuthenticationType = "Anonymous" + // HTTPAuthenticationTypeBasic ... + HTTPAuthenticationTypeBasic HTTPAuthenticationType = "Basic" + // HTTPAuthenticationTypeClientCertificate ... + HTTPAuthenticationTypeClientCertificate HTTPAuthenticationType = "ClientCertificate" + // HTTPAuthenticationTypeDigest ... + HTTPAuthenticationTypeDigest HTTPAuthenticationType = "Digest" + // HTTPAuthenticationTypeWindows ... + HTTPAuthenticationTypeWindows HTTPAuthenticationType = "Windows" +) + +// PossibleHTTPAuthenticationTypeValues returns an array of possible values for the HTTPAuthenticationType const type. +func PossibleHTTPAuthenticationTypeValues() []HTTPAuthenticationType { + return []HTTPAuthenticationType{HTTPAuthenticationTypeAnonymous, HTTPAuthenticationTypeBasic, HTTPAuthenticationTypeClientCertificate, HTTPAuthenticationTypeDigest, HTTPAuthenticationTypeWindows} +} + +// ImpalaAuthenticationType enumerates the values for impala authentication type. +type ImpalaAuthenticationType string + +const ( + // ImpalaAuthenticationTypeAnonymous ... + ImpalaAuthenticationTypeAnonymous ImpalaAuthenticationType = "Anonymous" + // ImpalaAuthenticationTypeSASLUsername ... + ImpalaAuthenticationTypeSASLUsername ImpalaAuthenticationType = "SASLUsername" + // ImpalaAuthenticationTypeUsernameAndPassword ... + ImpalaAuthenticationTypeUsernameAndPassword ImpalaAuthenticationType = "UsernameAndPassword" +) + +// PossibleImpalaAuthenticationTypeValues returns an array of possible values for the ImpalaAuthenticationType const type. +func PossibleImpalaAuthenticationTypeValues() []ImpalaAuthenticationType { + return []ImpalaAuthenticationType{ImpalaAuthenticationTypeAnonymous, ImpalaAuthenticationTypeSASLUsername, ImpalaAuthenticationTypeUsernameAndPassword} +} + +// JSONWriteFilePattern enumerates the values for json write file pattern. +type JSONWriteFilePattern string + +const ( + // ArrayOfObjects ... + ArrayOfObjects JSONWriteFilePattern = "arrayOfObjects" + // SetOfObjects ... + SetOfObjects JSONWriteFilePattern = "setOfObjects" +) + +// PossibleJSONWriteFilePatternValues returns an array of possible values for the JSONWriteFilePattern const type. +func PossibleJSONWriteFilePatternValues() []JSONWriteFilePattern { + return []JSONWriteFilePattern{ArrayOfObjects, SetOfObjects} +} + +// MongoDbAuthenticationType enumerates the values for mongo db authentication type. +type MongoDbAuthenticationType string + +const ( + // MongoDbAuthenticationTypeAnonymous ... + MongoDbAuthenticationTypeAnonymous MongoDbAuthenticationType = "Anonymous" + // MongoDbAuthenticationTypeBasic ... + MongoDbAuthenticationTypeBasic MongoDbAuthenticationType = "Basic" +) + +// PossibleMongoDbAuthenticationTypeValues returns an array of possible values for the MongoDbAuthenticationType const type. +func PossibleMongoDbAuthenticationTypeValues() []MongoDbAuthenticationType { + return []MongoDbAuthenticationType{MongoDbAuthenticationTypeAnonymous, MongoDbAuthenticationTypeBasic} +} + +// NetezzaPartitionOption enumerates the values for netezza partition option. +type NetezzaPartitionOption string + +const ( + // NetezzaPartitionOptionDataSlice ... + NetezzaPartitionOptionDataSlice NetezzaPartitionOption = "DataSlice" + // NetezzaPartitionOptionDynamicRange ... + NetezzaPartitionOptionDynamicRange NetezzaPartitionOption = "DynamicRange" + // NetezzaPartitionOptionNone ... + NetezzaPartitionOptionNone NetezzaPartitionOption = "None" +) + +// PossibleNetezzaPartitionOptionValues returns an array of possible values for the NetezzaPartitionOption const type. +func PossibleNetezzaPartitionOptionValues() []NetezzaPartitionOption { + return []NetezzaPartitionOption{NetezzaPartitionOptionDataSlice, NetezzaPartitionOptionDynamicRange, NetezzaPartitionOptionNone} +} + +// ODataAadServicePrincipalCredentialType enumerates the values for o data aad service principal credential +// type. +type ODataAadServicePrincipalCredentialType string + +const ( + // ODataAadServicePrincipalCredentialTypeServicePrincipalCert ... + ODataAadServicePrincipalCredentialTypeServicePrincipalCert ODataAadServicePrincipalCredentialType = "ServicePrincipalCert" + // ODataAadServicePrincipalCredentialTypeServicePrincipalKey ... + ODataAadServicePrincipalCredentialTypeServicePrincipalKey ODataAadServicePrincipalCredentialType = "ServicePrincipalKey" +) + +// PossibleODataAadServicePrincipalCredentialTypeValues returns an array of possible values for the ODataAadServicePrincipalCredentialType const type. +func PossibleODataAadServicePrincipalCredentialTypeValues() []ODataAadServicePrincipalCredentialType { + return []ODataAadServicePrincipalCredentialType{ODataAadServicePrincipalCredentialTypeServicePrincipalCert, ODataAadServicePrincipalCredentialTypeServicePrincipalKey} +} + +// ODataAuthenticationType enumerates the values for o data authentication type. +type ODataAuthenticationType string + +const ( + // ODataAuthenticationTypeAadServicePrincipal ... + ODataAuthenticationTypeAadServicePrincipal ODataAuthenticationType = "AadServicePrincipal" + // ODataAuthenticationTypeAnonymous ... + ODataAuthenticationTypeAnonymous ODataAuthenticationType = "Anonymous" + // ODataAuthenticationTypeBasic ... + ODataAuthenticationTypeBasic ODataAuthenticationType = "Basic" + // ODataAuthenticationTypeManagedServiceIdentity ... + ODataAuthenticationTypeManagedServiceIdentity ODataAuthenticationType = "ManagedServiceIdentity" + // ODataAuthenticationTypeWindows ... + ODataAuthenticationTypeWindows ODataAuthenticationType = "Windows" +) + +// PossibleODataAuthenticationTypeValues returns an array of possible values for the ODataAuthenticationType const type. +func PossibleODataAuthenticationTypeValues() []ODataAuthenticationType { + return []ODataAuthenticationType{ODataAuthenticationTypeAadServicePrincipal, ODataAuthenticationTypeAnonymous, ODataAuthenticationTypeBasic, ODataAuthenticationTypeManagedServiceIdentity, ODataAuthenticationTypeWindows} +} + +// OraclePartitionOption enumerates the values for oracle partition option. +type OraclePartitionOption string + +const ( + // OraclePartitionOptionDynamicRange ... + OraclePartitionOptionDynamicRange OraclePartitionOption = "DynamicRange" + // OraclePartitionOptionNone ... + OraclePartitionOptionNone OraclePartitionOption = "None" + // OraclePartitionOptionPhysicalPartitionsOfTable ... + OraclePartitionOptionPhysicalPartitionsOfTable OraclePartitionOption = "PhysicalPartitionsOfTable" +) + +// PossibleOraclePartitionOptionValues returns an array of possible values for the OraclePartitionOption const type. +func PossibleOraclePartitionOptionValues() []OraclePartitionOption { + return []OraclePartitionOption{OraclePartitionOptionDynamicRange, OraclePartitionOptionNone, OraclePartitionOptionPhysicalPartitionsOfTable} +} + +// OrcCompressionCodec enumerates the values for orc compression codec. +type OrcCompressionCodec string + +const ( + // OrcCompressionCodecNone ... + OrcCompressionCodecNone OrcCompressionCodec = "none" + // OrcCompressionCodecSnappy ... + OrcCompressionCodecSnappy OrcCompressionCodec = "snappy" + // OrcCompressionCodecZlib ... + OrcCompressionCodecZlib OrcCompressionCodec = "zlib" +) + +// PossibleOrcCompressionCodecValues returns an array of possible values for the OrcCompressionCodec const type. +func PossibleOrcCompressionCodecValues() []OrcCompressionCodec { + return []OrcCompressionCodec{OrcCompressionCodecNone, OrcCompressionCodecSnappy, OrcCompressionCodecZlib} +} + +// ParameterType enumerates the values for parameter type. +type ParameterType string + +const ( + // ParameterTypeArray ... + ParameterTypeArray ParameterType = "Array" + // ParameterTypeBool ... + ParameterTypeBool ParameterType = "Bool" + // ParameterTypeFloat ... + ParameterTypeFloat ParameterType = "Float" + // ParameterTypeInt ... + ParameterTypeInt ParameterType = "Int" + // ParameterTypeObject ... + ParameterTypeObject ParameterType = "Object" + // ParameterTypeSecureString ... + ParameterTypeSecureString ParameterType = "SecureString" + // ParameterTypeString ... + ParameterTypeString ParameterType = "String" +) + +// PossibleParameterTypeValues returns an array of possible values for the ParameterType const type. +func PossibleParameterTypeValues() []ParameterType { + return []ParameterType{ParameterTypeArray, ParameterTypeBool, ParameterTypeFloat, ParameterTypeInt, ParameterTypeObject, ParameterTypeSecureString, ParameterTypeString} +} + +// ParquetCompressionCodec enumerates the values for parquet compression codec. +type ParquetCompressionCodec string + +const ( + // ParquetCompressionCodecGzip ... + ParquetCompressionCodecGzip ParquetCompressionCodec = "gzip" + // ParquetCompressionCodecLzo ... + ParquetCompressionCodecLzo ParquetCompressionCodec = "lzo" + // ParquetCompressionCodecNone ... + ParquetCompressionCodecNone ParquetCompressionCodec = "none" + // ParquetCompressionCodecSnappy ... + ParquetCompressionCodecSnappy ParquetCompressionCodec = "snappy" +) + +// PossibleParquetCompressionCodecValues returns an array of possible values for the ParquetCompressionCodec const type. +func PossibleParquetCompressionCodecValues() []ParquetCompressionCodec { + return []ParquetCompressionCodec{ParquetCompressionCodecGzip, ParquetCompressionCodecLzo, ParquetCompressionCodecNone, ParquetCompressionCodecSnappy} +} + +// PhoenixAuthenticationType enumerates the values for phoenix authentication type. +type PhoenixAuthenticationType string + +const ( + // PhoenixAuthenticationTypeAnonymous ... + PhoenixAuthenticationTypeAnonymous PhoenixAuthenticationType = "Anonymous" + // PhoenixAuthenticationTypeUsernameAndPassword ... + PhoenixAuthenticationTypeUsernameAndPassword PhoenixAuthenticationType = "UsernameAndPassword" + // PhoenixAuthenticationTypeWindowsAzureHDInsightService ... + PhoenixAuthenticationTypeWindowsAzureHDInsightService PhoenixAuthenticationType = "WindowsAzureHDInsightService" +) + +// PossiblePhoenixAuthenticationTypeValues returns an array of possible values for the PhoenixAuthenticationType const type. +func PossiblePhoenixAuthenticationTypeValues() []PhoenixAuthenticationType { + return []PhoenixAuthenticationType{PhoenixAuthenticationTypeAnonymous, PhoenixAuthenticationTypeUsernameAndPassword, PhoenixAuthenticationTypeWindowsAzureHDInsightService} +} + +// PluginCurrentState enumerates the values for plugin current state. +type PluginCurrentState string + +const ( + // Cleanup ... + Cleanup PluginCurrentState = "Cleanup" + // Ended ... + Ended PluginCurrentState = "Ended" + // Monitoring ... + Monitoring PluginCurrentState = "Monitoring" + // Preparation ... + Preparation PluginCurrentState = "Preparation" + // Queued ... + Queued PluginCurrentState = "Queued" + // ResourceAcquisition ... + ResourceAcquisition PluginCurrentState = "ResourceAcquisition" + // Submission ... + Submission PluginCurrentState = "Submission" +) + +// PossiblePluginCurrentStateValues returns an array of possible values for the PluginCurrentState const type. +func PossiblePluginCurrentStateValues() []PluginCurrentState { + return []PluginCurrentState{Cleanup, Ended, Monitoring, Preparation, Queued, ResourceAcquisition, Submission} +} + +// PolybaseSettingsRejectType enumerates the values for polybase settings reject type. +type PolybaseSettingsRejectType string + +const ( + // Percentage ... + Percentage PolybaseSettingsRejectType = "percentage" + // Value ... + Value PolybaseSettingsRejectType = "value" +) + +// PossiblePolybaseSettingsRejectTypeValues returns an array of possible values for the PolybaseSettingsRejectType const type. +func PossiblePolybaseSettingsRejectTypeValues() []PolybaseSettingsRejectType { + return []PolybaseSettingsRejectType{Percentage, Value} +} + +// PrestoAuthenticationType enumerates the values for presto authentication type. +type PrestoAuthenticationType string + +const ( + // PrestoAuthenticationTypeAnonymous ... + PrestoAuthenticationTypeAnonymous PrestoAuthenticationType = "Anonymous" + // PrestoAuthenticationTypeLDAP ... + PrestoAuthenticationTypeLDAP PrestoAuthenticationType = "LDAP" +) + +// PossiblePrestoAuthenticationTypeValues returns an array of possible values for the PrestoAuthenticationType const type. +func PossiblePrestoAuthenticationTypeValues() []PrestoAuthenticationType { + return []PrestoAuthenticationType{PrestoAuthenticationTypeAnonymous, PrestoAuthenticationTypeLDAP} +} + +// RecurrenceFrequency enumerates the values for recurrence frequency. +type RecurrenceFrequency string + +const ( + // Day ... + Day RecurrenceFrequency = "Day" + // Hour ... + Hour RecurrenceFrequency = "Hour" + // Minute ... + Minute RecurrenceFrequency = "Minute" + // Month ... + Month RecurrenceFrequency = "Month" + // NotSpecified ... + NotSpecified RecurrenceFrequency = "NotSpecified" + // Week ... + Week RecurrenceFrequency = "Week" + // Year ... + Year RecurrenceFrequency = "Year" +) + +// PossibleRecurrenceFrequencyValues returns an array of possible values for the RecurrenceFrequency const type. +func PossibleRecurrenceFrequencyValues() []RecurrenceFrequency { + return []RecurrenceFrequency{Day, Hour, Minute, Month, NotSpecified, Week, Year} +} + +// RestServiceAuthenticationType enumerates the values for rest service authentication type. +type RestServiceAuthenticationType string + +const ( + // RestServiceAuthenticationTypeAadServicePrincipal ... + RestServiceAuthenticationTypeAadServicePrincipal RestServiceAuthenticationType = "AadServicePrincipal" + // RestServiceAuthenticationTypeAnonymous ... + RestServiceAuthenticationTypeAnonymous RestServiceAuthenticationType = "Anonymous" + // RestServiceAuthenticationTypeBasic ... + RestServiceAuthenticationTypeBasic RestServiceAuthenticationType = "Basic" + // RestServiceAuthenticationTypeManagedServiceIdentity ... + RestServiceAuthenticationTypeManagedServiceIdentity RestServiceAuthenticationType = "ManagedServiceIdentity" +) + +// PossibleRestServiceAuthenticationTypeValues returns an array of possible values for the RestServiceAuthenticationType const type. +func PossibleRestServiceAuthenticationTypeValues() []RestServiceAuthenticationType { + return []RestServiceAuthenticationType{RestServiceAuthenticationTypeAadServicePrincipal, RestServiceAuthenticationTypeAnonymous, RestServiceAuthenticationTypeBasic, RestServiceAuthenticationTypeManagedServiceIdentity} +} + +// RunQueryFilterOperand enumerates the values for run query filter operand. +type RunQueryFilterOperand string + +const ( + // ActivityName ... + ActivityName RunQueryFilterOperand = "ActivityName" + // ActivityRunEnd ... + ActivityRunEnd RunQueryFilterOperand = "ActivityRunEnd" + // ActivityRunStart ... + ActivityRunStart RunQueryFilterOperand = "ActivityRunStart" + // ActivityType ... + ActivityType RunQueryFilterOperand = "ActivityType" + // LatestOnly ... + LatestOnly RunQueryFilterOperand = "LatestOnly" + // PipelineName ... + PipelineName RunQueryFilterOperand = "PipelineName" + // RunEnd ... + RunEnd RunQueryFilterOperand = "RunEnd" + // RunGroupID ... + RunGroupID RunQueryFilterOperand = "RunGroupId" + // RunStart ... + RunStart RunQueryFilterOperand = "RunStart" + // Status ... + Status RunQueryFilterOperand = "Status" + // TriggerName ... + TriggerName RunQueryFilterOperand = "TriggerName" + // TriggerRunTimestamp ... + TriggerRunTimestamp RunQueryFilterOperand = "TriggerRunTimestamp" +) + +// PossibleRunQueryFilterOperandValues returns an array of possible values for the RunQueryFilterOperand const type. +func PossibleRunQueryFilterOperandValues() []RunQueryFilterOperand { + return []RunQueryFilterOperand{ActivityName, ActivityRunEnd, ActivityRunStart, ActivityType, LatestOnly, PipelineName, RunEnd, RunGroupID, RunStart, Status, TriggerName, TriggerRunTimestamp} +} + +// RunQueryFilterOperator enumerates the values for run query filter operator. +type RunQueryFilterOperator string + +const ( + // Equals ... + Equals RunQueryFilterOperator = "Equals" + // In ... + In RunQueryFilterOperator = "In" + // NotEquals ... + NotEquals RunQueryFilterOperator = "NotEquals" + // NotIn ... + NotIn RunQueryFilterOperator = "NotIn" +) + +// PossibleRunQueryFilterOperatorValues returns an array of possible values for the RunQueryFilterOperator const type. +func PossibleRunQueryFilterOperatorValues() []RunQueryFilterOperator { + return []RunQueryFilterOperator{Equals, In, NotEquals, NotIn} +} + +// RunQueryOrder enumerates the values for run query order. +type RunQueryOrder string + +const ( + // ASC ... + ASC RunQueryOrder = "ASC" + // DESC ... + DESC RunQueryOrder = "DESC" +) + +// PossibleRunQueryOrderValues returns an array of possible values for the RunQueryOrder const type. +func PossibleRunQueryOrderValues() []RunQueryOrder { + return []RunQueryOrder{ASC, DESC} +} + +// RunQueryOrderByField enumerates the values for run query order by field. +type RunQueryOrderByField string + +const ( + // RunQueryOrderByFieldActivityName ... + RunQueryOrderByFieldActivityName RunQueryOrderByField = "ActivityName" + // RunQueryOrderByFieldActivityRunEnd ... + RunQueryOrderByFieldActivityRunEnd RunQueryOrderByField = "ActivityRunEnd" + // RunQueryOrderByFieldActivityRunStart ... + RunQueryOrderByFieldActivityRunStart RunQueryOrderByField = "ActivityRunStart" + // RunQueryOrderByFieldPipelineName ... + RunQueryOrderByFieldPipelineName RunQueryOrderByField = "PipelineName" + // RunQueryOrderByFieldRunEnd ... + RunQueryOrderByFieldRunEnd RunQueryOrderByField = "RunEnd" + // RunQueryOrderByFieldRunStart ... + RunQueryOrderByFieldRunStart RunQueryOrderByField = "RunStart" + // RunQueryOrderByFieldStatus ... + RunQueryOrderByFieldStatus RunQueryOrderByField = "Status" + // RunQueryOrderByFieldTriggerName ... + RunQueryOrderByFieldTriggerName RunQueryOrderByField = "TriggerName" + // RunQueryOrderByFieldTriggerRunTimestamp ... + RunQueryOrderByFieldTriggerRunTimestamp RunQueryOrderByField = "TriggerRunTimestamp" +) + +// PossibleRunQueryOrderByFieldValues returns an array of possible values for the RunQueryOrderByField const type. +func PossibleRunQueryOrderByFieldValues() []RunQueryOrderByField { + return []RunQueryOrderByField{RunQueryOrderByFieldActivityName, RunQueryOrderByFieldActivityRunEnd, RunQueryOrderByFieldActivityRunStart, RunQueryOrderByFieldPipelineName, RunQueryOrderByFieldRunEnd, RunQueryOrderByFieldRunStart, RunQueryOrderByFieldStatus, RunQueryOrderByFieldTriggerName, RunQueryOrderByFieldTriggerRunTimestamp} +} + +// SalesforceSinkWriteBehavior enumerates the values for salesforce sink write behavior. +type SalesforceSinkWriteBehavior string + +const ( + // Insert ... + Insert SalesforceSinkWriteBehavior = "Insert" + // Upsert ... + Upsert SalesforceSinkWriteBehavior = "Upsert" +) + +// PossibleSalesforceSinkWriteBehaviorValues returns an array of possible values for the SalesforceSinkWriteBehavior const type. +func PossibleSalesforceSinkWriteBehaviorValues() []SalesforceSinkWriteBehavior { + return []SalesforceSinkWriteBehavior{Insert, Upsert} +} + +// SalesforceSourceReadBehavior enumerates the values for salesforce source read behavior. +type SalesforceSourceReadBehavior string + +const ( + // Query ... + Query SalesforceSourceReadBehavior = "Query" + // QueryAll ... + QueryAll SalesforceSourceReadBehavior = "QueryAll" +) + +// PossibleSalesforceSourceReadBehaviorValues returns an array of possible values for the SalesforceSourceReadBehavior const type. +func PossibleSalesforceSourceReadBehaviorValues() []SalesforceSourceReadBehavior { + return []SalesforceSourceReadBehavior{Query, QueryAll} +} + +// SapCloudForCustomerSinkWriteBehavior enumerates the values for sap cloud for customer sink write behavior. +type SapCloudForCustomerSinkWriteBehavior string + +const ( + // SapCloudForCustomerSinkWriteBehaviorInsert ... + SapCloudForCustomerSinkWriteBehaviorInsert SapCloudForCustomerSinkWriteBehavior = "Insert" + // SapCloudForCustomerSinkWriteBehaviorUpdate ... + SapCloudForCustomerSinkWriteBehaviorUpdate SapCloudForCustomerSinkWriteBehavior = "Update" +) + +// PossibleSapCloudForCustomerSinkWriteBehaviorValues returns an array of possible values for the SapCloudForCustomerSinkWriteBehavior const type. +func PossibleSapCloudForCustomerSinkWriteBehaviorValues() []SapCloudForCustomerSinkWriteBehavior { + return []SapCloudForCustomerSinkWriteBehavior{SapCloudForCustomerSinkWriteBehaviorInsert, SapCloudForCustomerSinkWriteBehaviorUpdate} +} + +// SapHanaAuthenticationType enumerates the values for sap hana authentication type. +type SapHanaAuthenticationType string + +const ( + // SapHanaAuthenticationTypeBasic ... + SapHanaAuthenticationTypeBasic SapHanaAuthenticationType = "Basic" + // SapHanaAuthenticationTypeWindows ... + SapHanaAuthenticationTypeWindows SapHanaAuthenticationType = "Windows" +) + +// PossibleSapHanaAuthenticationTypeValues returns an array of possible values for the SapHanaAuthenticationType const type. +func PossibleSapHanaAuthenticationTypeValues() []SapHanaAuthenticationType { + return []SapHanaAuthenticationType{SapHanaAuthenticationTypeBasic, SapHanaAuthenticationTypeWindows} +} + +// SapHanaPartitionOption enumerates the values for sap hana partition option. +type SapHanaPartitionOption string + +const ( + // SapHanaPartitionOptionNone ... + SapHanaPartitionOptionNone SapHanaPartitionOption = "None" + // SapHanaPartitionOptionPhysicalPartitionsOfTable ... + SapHanaPartitionOptionPhysicalPartitionsOfTable SapHanaPartitionOption = "PhysicalPartitionsOfTable" + // SapHanaPartitionOptionSapHanaDynamicRange ... + SapHanaPartitionOptionSapHanaDynamicRange SapHanaPartitionOption = "SapHanaDynamicRange" +) + +// PossibleSapHanaPartitionOptionValues returns an array of possible values for the SapHanaPartitionOption const type. +func PossibleSapHanaPartitionOptionValues() []SapHanaPartitionOption { + return []SapHanaPartitionOption{SapHanaPartitionOptionNone, SapHanaPartitionOptionPhysicalPartitionsOfTable, SapHanaPartitionOptionSapHanaDynamicRange} +} + +// SapTablePartitionOption enumerates the values for sap table partition option. +type SapTablePartitionOption string + +const ( + // SapTablePartitionOptionNone ... + SapTablePartitionOptionNone SapTablePartitionOption = "None" + // SapTablePartitionOptionPartitionOnCalendarDate ... + SapTablePartitionOptionPartitionOnCalendarDate SapTablePartitionOption = "PartitionOnCalendarDate" + // SapTablePartitionOptionPartitionOnCalendarMonth ... + SapTablePartitionOptionPartitionOnCalendarMonth SapTablePartitionOption = "PartitionOnCalendarMonth" + // SapTablePartitionOptionPartitionOnCalendarYear ... + SapTablePartitionOptionPartitionOnCalendarYear SapTablePartitionOption = "PartitionOnCalendarYear" + // SapTablePartitionOptionPartitionOnInt ... + SapTablePartitionOptionPartitionOnInt SapTablePartitionOption = "PartitionOnInt" + // SapTablePartitionOptionPartitionOnTime ... + SapTablePartitionOptionPartitionOnTime SapTablePartitionOption = "PartitionOnTime" +) + +// PossibleSapTablePartitionOptionValues returns an array of possible values for the SapTablePartitionOption const type. +func PossibleSapTablePartitionOptionValues() []SapTablePartitionOption { + return []SapTablePartitionOption{SapTablePartitionOptionNone, SapTablePartitionOptionPartitionOnCalendarDate, SapTablePartitionOptionPartitionOnCalendarMonth, SapTablePartitionOptionPartitionOnCalendarYear, SapTablePartitionOptionPartitionOnInt, SapTablePartitionOptionPartitionOnTime} +} + +// SchedulerCurrentState enumerates the values for scheduler current state. +type SchedulerCurrentState string + +const ( + // SchedulerCurrentStateEnded ... + SchedulerCurrentStateEnded SchedulerCurrentState = "Ended" + // SchedulerCurrentStateQueued ... + SchedulerCurrentStateQueued SchedulerCurrentState = "Queued" + // SchedulerCurrentStateScheduled ... + SchedulerCurrentStateScheduled SchedulerCurrentState = "Scheduled" +) + +// PossibleSchedulerCurrentStateValues returns an array of possible values for the SchedulerCurrentState const type. +func PossibleSchedulerCurrentStateValues() []SchedulerCurrentState { + return []SchedulerCurrentState{SchedulerCurrentStateEnded, SchedulerCurrentStateQueued, SchedulerCurrentStateScheduled} +} + +// ServiceNowAuthenticationType enumerates the values for service now authentication type. +type ServiceNowAuthenticationType string + +const ( + // ServiceNowAuthenticationTypeBasic ... + ServiceNowAuthenticationTypeBasic ServiceNowAuthenticationType = "Basic" + // ServiceNowAuthenticationTypeOAuth2 ... + ServiceNowAuthenticationTypeOAuth2 ServiceNowAuthenticationType = "OAuth2" +) + +// PossibleServiceNowAuthenticationTypeValues returns an array of possible values for the ServiceNowAuthenticationType const type. +func PossibleServiceNowAuthenticationTypeValues() []ServiceNowAuthenticationType { + return []ServiceNowAuthenticationType{ServiceNowAuthenticationTypeBasic, ServiceNowAuthenticationTypeOAuth2} +} + +// SftpAuthenticationType enumerates the values for sftp authentication type. +type SftpAuthenticationType string + +const ( + // SftpAuthenticationTypeBasic ... + SftpAuthenticationTypeBasic SftpAuthenticationType = "Basic" + // SftpAuthenticationTypeSSHPublicKey ... + SftpAuthenticationTypeSSHPublicKey SftpAuthenticationType = "SshPublicKey" +) + +// PossibleSftpAuthenticationTypeValues returns an array of possible values for the SftpAuthenticationType const type. +func PossibleSftpAuthenticationTypeValues() []SftpAuthenticationType { + return []SftpAuthenticationType{SftpAuthenticationTypeBasic, SftpAuthenticationTypeSSHPublicKey} +} + +// SparkAuthenticationType enumerates the values for spark authentication type. +type SparkAuthenticationType string + +const ( + // SparkAuthenticationTypeAnonymous ... + SparkAuthenticationTypeAnonymous SparkAuthenticationType = "Anonymous" + // SparkAuthenticationTypeUsername ... + SparkAuthenticationTypeUsername SparkAuthenticationType = "Username" + // SparkAuthenticationTypeUsernameAndPassword ... + SparkAuthenticationTypeUsernameAndPassword SparkAuthenticationType = "UsernameAndPassword" + // SparkAuthenticationTypeWindowsAzureHDInsightService ... + SparkAuthenticationTypeWindowsAzureHDInsightService SparkAuthenticationType = "WindowsAzureHDInsightService" +) + +// PossibleSparkAuthenticationTypeValues returns an array of possible values for the SparkAuthenticationType const type. +func PossibleSparkAuthenticationTypeValues() []SparkAuthenticationType { + return []SparkAuthenticationType{SparkAuthenticationTypeAnonymous, SparkAuthenticationTypeUsername, SparkAuthenticationTypeUsernameAndPassword, SparkAuthenticationTypeWindowsAzureHDInsightService} +} + +// SparkBatchJobResultType enumerates the values for spark batch job result type. +type SparkBatchJobResultType string + +const ( + // SparkBatchJobResultTypeCancelled ... + SparkBatchJobResultTypeCancelled SparkBatchJobResultType = "Cancelled" + // SparkBatchJobResultTypeFailed ... + SparkBatchJobResultTypeFailed SparkBatchJobResultType = "Failed" + // SparkBatchJobResultTypeSucceeded ... + SparkBatchJobResultTypeSucceeded SparkBatchJobResultType = "Succeeded" + // SparkBatchJobResultTypeUncertain ... + SparkBatchJobResultTypeUncertain SparkBatchJobResultType = "Uncertain" +) + +// PossibleSparkBatchJobResultTypeValues returns an array of possible values for the SparkBatchJobResultType const type. +func PossibleSparkBatchJobResultTypeValues() []SparkBatchJobResultType { + return []SparkBatchJobResultType{SparkBatchJobResultTypeCancelled, SparkBatchJobResultTypeFailed, SparkBatchJobResultTypeSucceeded, SparkBatchJobResultTypeUncertain} +} + +// SparkErrorSource enumerates the values for spark error source. +type SparkErrorSource string + +const ( + // SparkErrorSourceDependency ... + SparkErrorSourceDependency SparkErrorSource = "Dependency" + // SparkErrorSourceSystem ... + SparkErrorSourceSystem SparkErrorSource = "System" + // SparkErrorSourceUnknown ... + SparkErrorSourceUnknown SparkErrorSource = "Unknown" + // SparkErrorSourceUser ... + SparkErrorSourceUser SparkErrorSource = "User" +) + +// PossibleSparkErrorSourceValues returns an array of possible values for the SparkErrorSource const type. +func PossibleSparkErrorSourceValues() []SparkErrorSource { + return []SparkErrorSource{SparkErrorSourceDependency, SparkErrorSourceSystem, SparkErrorSourceUnknown, SparkErrorSourceUser} +} + +// SparkJobType enumerates the values for spark job type. +type SparkJobType string + +const ( + // SparkBatch ... + SparkBatch SparkJobType = "SparkBatch" + // SparkSession ... + SparkSession SparkJobType = "SparkSession" +) + +// PossibleSparkJobTypeValues returns an array of possible values for the SparkJobType const type. +func PossibleSparkJobTypeValues() []SparkJobType { + return []SparkJobType{SparkBatch, SparkSession} +} + +// SparkServerType enumerates the values for spark server type. +type SparkServerType string + +const ( + // SharkServer ... + SharkServer SparkServerType = "SharkServer" + // SharkServer2 ... + SharkServer2 SparkServerType = "SharkServer2" + // SparkThriftServer ... + SparkThriftServer SparkServerType = "SparkThriftServer" +) + +// PossibleSparkServerTypeValues returns an array of possible values for the SparkServerType const type. +func PossibleSparkServerTypeValues() []SparkServerType { + return []SparkServerType{SharkServer, SharkServer2, SparkThriftServer} +} + +// SparkThriftTransportProtocol enumerates the values for spark thrift transport protocol. +type SparkThriftTransportProtocol string + +const ( + // SparkThriftTransportProtocolBinary ... + SparkThriftTransportProtocolBinary SparkThriftTransportProtocol = "Binary" + // SparkThriftTransportProtocolHTTP ... + SparkThriftTransportProtocolHTTP SparkThriftTransportProtocol = "HTTP " + // SparkThriftTransportProtocolSASL ... + SparkThriftTransportProtocolSASL SparkThriftTransportProtocol = "SASL" +) + +// PossibleSparkThriftTransportProtocolValues returns an array of possible values for the SparkThriftTransportProtocol const type. +func PossibleSparkThriftTransportProtocolValues() []SparkThriftTransportProtocol { + return []SparkThriftTransportProtocol{SparkThriftTransportProtocolBinary, SparkThriftTransportProtocolHTTP, SparkThriftTransportProtocolSASL} +} + +// SQLConnectionType enumerates the values for sql connection type. +type SQLConnectionType string + +const ( + // SQLOnDemand ... + SQLOnDemand SQLConnectionType = "SqlOnDemand" + // SQLPool ... + SQLPool SQLConnectionType = "SqlPool" +) + +// PossibleSQLConnectionTypeValues returns an array of possible values for the SQLConnectionType const type. +func PossibleSQLConnectionTypeValues() []SQLConnectionType { + return []SQLConnectionType{SQLOnDemand, SQLPool} +} + +// SQLScriptType enumerates the values for sql script type. +type SQLScriptType string + +const ( + // SQLQuery ... + SQLQuery SQLScriptType = "SqlQuery" +) + +// PossibleSQLScriptTypeValues returns an array of possible values for the SQLScriptType const type. +func PossibleSQLScriptTypeValues() []SQLScriptType { + return []SQLScriptType{SQLQuery} +} + +// SsisPackageLocationType enumerates the values for ssis package location type. +type SsisPackageLocationType string + +const ( + // File ... + File SsisPackageLocationType = "File" + // InlinePackage ... + InlinePackage SsisPackageLocationType = "InlinePackage" + // SSISDB ... + SSISDB SsisPackageLocationType = "SSISDB" +) + +// PossibleSsisPackageLocationTypeValues returns an array of possible values for the SsisPackageLocationType const type. +func PossibleSsisPackageLocationTypeValues() []SsisPackageLocationType { + return []SsisPackageLocationType{File, InlinePackage, SSISDB} +} + +// StoredProcedureParameterType enumerates the values for stored procedure parameter type. +type StoredProcedureParameterType string + +const ( + // Boolean ... + Boolean StoredProcedureParameterType = "Boolean" + // Date ... + Date StoredProcedureParameterType = "Date" + // Decimal ... + Decimal StoredProcedureParameterType = "Decimal" + // GUID ... + GUID StoredProcedureParameterType = "Guid" + // Int ... + Int StoredProcedureParameterType = "Int" + // Int64 ... + Int64 StoredProcedureParameterType = "Int64" + // String ... + String StoredProcedureParameterType = "String" +) + +// PossibleStoredProcedureParameterTypeValues returns an array of possible values for the StoredProcedureParameterType const type. +func PossibleStoredProcedureParameterTypeValues() []StoredProcedureParameterType { + return []StoredProcedureParameterType{Boolean, Date, Decimal, GUID, Int, Int64, String} +} + +// SybaseAuthenticationType enumerates the values for sybase authentication type. +type SybaseAuthenticationType string + +const ( + // SybaseAuthenticationTypeBasic ... + SybaseAuthenticationTypeBasic SybaseAuthenticationType = "Basic" + // SybaseAuthenticationTypeWindows ... + SybaseAuthenticationTypeWindows SybaseAuthenticationType = "Windows" +) + +// PossibleSybaseAuthenticationTypeValues returns an array of possible values for the SybaseAuthenticationType const type. +func PossibleSybaseAuthenticationTypeValues() []SybaseAuthenticationType { + return []SybaseAuthenticationType{SybaseAuthenticationTypeBasic, SybaseAuthenticationTypeWindows} +} + +// TeradataAuthenticationType enumerates the values for teradata authentication type. +type TeradataAuthenticationType string + +const ( + // TeradataAuthenticationTypeBasic ... + TeradataAuthenticationTypeBasic TeradataAuthenticationType = "Basic" + // TeradataAuthenticationTypeWindows ... + TeradataAuthenticationTypeWindows TeradataAuthenticationType = "Windows" +) + +// PossibleTeradataAuthenticationTypeValues returns an array of possible values for the TeradataAuthenticationType const type. +func PossibleTeradataAuthenticationTypeValues() []TeradataAuthenticationType { + return []TeradataAuthenticationType{TeradataAuthenticationTypeBasic, TeradataAuthenticationTypeWindows} +} + +// TeradataPartitionOption enumerates the values for teradata partition option. +type TeradataPartitionOption string + +const ( + // TeradataPartitionOptionDynamicRange ... + TeradataPartitionOptionDynamicRange TeradataPartitionOption = "DynamicRange" + // TeradataPartitionOptionHash ... + TeradataPartitionOptionHash TeradataPartitionOption = "Hash" + // TeradataPartitionOptionNone ... + TeradataPartitionOptionNone TeradataPartitionOption = "None" +) + +// PossibleTeradataPartitionOptionValues returns an array of possible values for the TeradataPartitionOption const type. +func PossibleTeradataPartitionOptionValues() []TeradataPartitionOption { + return []TeradataPartitionOption{TeradataPartitionOptionDynamicRange, TeradataPartitionOptionHash, TeradataPartitionOptionNone} +} + +// TriggerRunStatus enumerates the values for trigger run status. +type TriggerRunStatus string + +const ( + // TriggerRunStatusFailed ... + TriggerRunStatusFailed TriggerRunStatus = "Failed" + // TriggerRunStatusInprogress ... + TriggerRunStatusInprogress TriggerRunStatus = "Inprogress" + // TriggerRunStatusSucceeded ... + TriggerRunStatusSucceeded TriggerRunStatus = "Succeeded" +) + +// PossibleTriggerRunStatusValues returns an array of possible values for the TriggerRunStatus const type. +func PossibleTriggerRunStatusValues() []TriggerRunStatus { + return []TriggerRunStatus{TriggerRunStatusFailed, TriggerRunStatusInprogress, TriggerRunStatusSucceeded} +} + +// TriggerRuntimeState enumerates the values for trigger runtime state. +type TriggerRuntimeState string + +const ( + // TriggerRuntimeStateDisabled ... + TriggerRuntimeStateDisabled TriggerRuntimeState = "Disabled" + // TriggerRuntimeStateStarted ... + TriggerRuntimeStateStarted TriggerRuntimeState = "Started" + // TriggerRuntimeStateStopped ... + TriggerRuntimeStateStopped TriggerRuntimeState = "Stopped" +) + +// PossibleTriggerRuntimeStateValues returns an array of possible values for the TriggerRuntimeState const type. +func PossibleTriggerRuntimeStateValues() []TriggerRuntimeState { + return []TriggerRuntimeState{TriggerRuntimeStateDisabled, TriggerRuntimeStateStarted, TriggerRuntimeStateStopped} +} + +// TumblingWindowFrequency enumerates the values for tumbling window frequency. +type TumblingWindowFrequency string + +const ( + // TumblingWindowFrequencyHour ... + TumblingWindowFrequencyHour TumblingWindowFrequency = "Hour" + // TumblingWindowFrequencyMinute ... + TumblingWindowFrequencyMinute TumblingWindowFrequency = "Minute" +) + +// PossibleTumblingWindowFrequencyValues returns an array of possible values for the TumblingWindowFrequency const type. +func PossibleTumblingWindowFrequencyValues() []TumblingWindowFrequency { + return []TumblingWindowFrequency{TumblingWindowFrequencyHour, TumblingWindowFrequencyMinute} +} + +// Type enumerates the values for type. +type Type string + +const ( + // TypeAzureKeyVaultSecret ... + TypeAzureKeyVaultSecret Type = "AzureKeyVaultSecret" + // TypeSecretBase ... + TypeSecretBase Type = "SecretBase" + // TypeSecureString ... + TypeSecureString Type = "SecureString" +) + +// PossibleTypeValues returns an array of possible values for the Type const type. +func PossibleTypeValues() []Type { + return []Type{TypeAzureKeyVaultSecret, TypeSecretBase, TypeSecureString} +} + +// TypeBasicActivity enumerates the values for type basic activity. +type TypeBasicActivity string + +const ( + // TypeActivity ... + TypeActivity TypeBasicActivity = "Activity" + // TypeAppendVariable ... + TypeAppendVariable TypeBasicActivity = "AppendVariable" + // TypeAzureDataExplorerCommand ... + TypeAzureDataExplorerCommand TypeBasicActivity = "AzureDataExplorerCommand" + // TypeAzureFunctionActivity ... + TypeAzureFunctionActivity TypeBasicActivity = "AzureFunctionActivity" + // TypeAzureMLBatchExecution ... + TypeAzureMLBatchExecution TypeBasicActivity = "AzureMLBatchExecution" + // TypeAzureMLExecutePipeline ... + TypeAzureMLExecutePipeline TypeBasicActivity = "AzureMLExecutePipeline" + // TypeAzureMLUpdateResource ... + TypeAzureMLUpdateResource TypeBasicActivity = "AzureMLUpdateResource" + // TypeContainer ... + TypeContainer TypeBasicActivity = "Container" + // TypeCopy ... + TypeCopy TypeBasicActivity = "Copy" + // TypeCustom ... + TypeCustom TypeBasicActivity = "Custom" + // TypeDatabricksNotebook ... + TypeDatabricksNotebook TypeBasicActivity = "DatabricksNotebook" + // TypeDatabricksSparkJar ... + TypeDatabricksSparkJar TypeBasicActivity = "DatabricksSparkJar" + // TypeDatabricksSparkPython ... + TypeDatabricksSparkPython TypeBasicActivity = "DatabricksSparkPython" + // TypeDataLakeAnalyticsUSQL ... + TypeDataLakeAnalyticsUSQL TypeBasicActivity = "DataLakeAnalyticsU-SQL" + // TypeDelete ... + TypeDelete TypeBasicActivity = "Delete" + // TypeExecuteDataFlow ... + TypeExecuteDataFlow TypeBasicActivity = "ExecuteDataFlow" + // TypeExecutePipeline ... + TypeExecutePipeline TypeBasicActivity = "ExecutePipeline" + // TypeExecuteSSISPackage ... + TypeExecuteSSISPackage TypeBasicActivity = "ExecuteSSISPackage" + // TypeExecution ... + TypeExecution TypeBasicActivity = "Execution" + // TypeFilter ... + TypeFilter TypeBasicActivity = "Filter" + // TypeForEach ... + TypeForEach TypeBasicActivity = "ForEach" + // TypeGetMetadata ... + TypeGetMetadata TypeBasicActivity = "GetMetadata" + // TypeHDInsightHive ... + TypeHDInsightHive TypeBasicActivity = "HDInsightHive" + // TypeHDInsightMapReduce ... + TypeHDInsightMapReduce TypeBasicActivity = "HDInsightMapReduce" + // TypeHDInsightPig ... + TypeHDInsightPig TypeBasicActivity = "HDInsightPig" + // TypeHDInsightSpark ... + TypeHDInsightSpark TypeBasicActivity = "HDInsightSpark" + // TypeHDInsightStreaming ... + TypeHDInsightStreaming TypeBasicActivity = "HDInsightStreaming" + // TypeIfCondition ... + TypeIfCondition TypeBasicActivity = "IfCondition" + // TypeLookup ... + TypeLookup TypeBasicActivity = "Lookup" + // TypeSetVariable ... + TypeSetVariable TypeBasicActivity = "SetVariable" + // TypeSQLServerStoredProcedure ... + TypeSQLServerStoredProcedure TypeBasicActivity = "SqlServerStoredProcedure" + // TypeSwitch ... + TypeSwitch TypeBasicActivity = "Switch" + // TypeUntil ... + TypeUntil TypeBasicActivity = "Until" + // TypeValidation ... + TypeValidation TypeBasicActivity = "Validation" + // TypeWait ... + TypeWait TypeBasicActivity = "Wait" + // TypeWebActivity ... + TypeWebActivity TypeBasicActivity = "WebActivity" + // TypeWebHook ... + TypeWebHook TypeBasicActivity = "WebHook" +) + +// PossibleTypeBasicActivityValues returns an array of possible values for the TypeBasicActivity const type. +func PossibleTypeBasicActivityValues() []TypeBasicActivity { + return []TypeBasicActivity{TypeActivity, TypeAppendVariable, TypeAzureDataExplorerCommand, TypeAzureFunctionActivity, TypeAzureMLBatchExecution, TypeAzureMLExecutePipeline, TypeAzureMLUpdateResource, TypeContainer, TypeCopy, TypeCustom, TypeDatabricksNotebook, TypeDatabricksSparkJar, TypeDatabricksSparkPython, TypeDataLakeAnalyticsUSQL, TypeDelete, TypeExecuteDataFlow, TypeExecutePipeline, TypeExecuteSSISPackage, TypeExecution, TypeFilter, TypeForEach, TypeGetMetadata, TypeHDInsightHive, TypeHDInsightMapReduce, TypeHDInsightPig, TypeHDInsightSpark, TypeHDInsightStreaming, TypeIfCondition, TypeLookup, TypeSetVariable, TypeSQLServerStoredProcedure, TypeSwitch, TypeUntil, TypeValidation, TypeWait, TypeWebActivity, TypeWebHook} +} + +// TypeBasicCopySink enumerates the values for type basic copy sink. +type TypeBasicCopySink string + +const ( + // TypeAvroSink ... + TypeAvroSink TypeBasicCopySink = "AvroSink" + // TypeAzureBlobFSSink ... + TypeAzureBlobFSSink TypeBasicCopySink = "AzureBlobFSSink" + // TypeAzureDataExplorerSink ... + TypeAzureDataExplorerSink TypeBasicCopySink = "AzureDataExplorerSink" + // TypeAzureDataLakeStoreSink ... + TypeAzureDataLakeStoreSink TypeBasicCopySink = "AzureDataLakeStoreSink" + // TypeAzureMySQLSink ... + TypeAzureMySQLSink TypeBasicCopySink = "AzureMySqlSink" + // TypeAzurePostgreSQLSink ... + TypeAzurePostgreSQLSink TypeBasicCopySink = "AzurePostgreSqlSink" + // TypeAzureQueueSink ... + TypeAzureQueueSink TypeBasicCopySink = "AzureQueueSink" + // TypeAzureSearchIndexSink ... + TypeAzureSearchIndexSink TypeBasicCopySink = "AzureSearchIndexSink" + // TypeAzureSQLSink ... + TypeAzureSQLSink TypeBasicCopySink = "AzureSqlSink" + // TypeAzureTableSink ... + TypeAzureTableSink TypeBasicCopySink = "AzureTableSink" + // TypeBinarySink ... + TypeBinarySink TypeBasicCopySink = "BinarySink" + // TypeBlobSink ... + TypeBlobSink TypeBasicCopySink = "BlobSink" + // TypeCommonDataServiceForAppsSink ... + TypeCommonDataServiceForAppsSink TypeBasicCopySink = "CommonDataServiceForAppsSink" + // TypeCopySink ... + TypeCopySink TypeBasicCopySink = "CopySink" + // TypeCosmosDbMongoDbAPISink ... + TypeCosmosDbMongoDbAPISink TypeBasicCopySink = "CosmosDbMongoDbApiSink" + // TypeCosmosDbSQLAPISink ... + TypeCosmosDbSQLAPISink TypeBasicCopySink = "CosmosDbSqlApiSink" + // TypeDelimitedTextSink ... + TypeDelimitedTextSink TypeBasicCopySink = "DelimitedTextSink" + // TypeDocumentDbCollectionSink ... + TypeDocumentDbCollectionSink TypeBasicCopySink = "DocumentDbCollectionSink" + // TypeDynamicsCrmSink ... + TypeDynamicsCrmSink TypeBasicCopySink = "DynamicsCrmSink" + // TypeDynamicsSink ... + TypeDynamicsSink TypeBasicCopySink = "DynamicsSink" + // TypeFileSystemSink ... + TypeFileSystemSink TypeBasicCopySink = "FileSystemSink" + // TypeInformixSink ... + TypeInformixSink TypeBasicCopySink = "InformixSink" + // TypeJSONSink ... + TypeJSONSink TypeBasicCopySink = "JsonSink" + // TypeMicrosoftAccessSink ... + TypeMicrosoftAccessSink TypeBasicCopySink = "MicrosoftAccessSink" + // TypeOdbcSink ... + TypeOdbcSink TypeBasicCopySink = "OdbcSink" + // TypeOracleSink ... + TypeOracleSink TypeBasicCopySink = "OracleSink" + // TypeOrcSink ... + TypeOrcSink TypeBasicCopySink = "OrcSink" + // TypeParquetSink ... + TypeParquetSink TypeBasicCopySink = "ParquetSink" + // TypeSalesforceServiceCloudSink ... + TypeSalesforceServiceCloudSink TypeBasicCopySink = "SalesforceServiceCloudSink" + // TypeSalesforceSink ... + TypeSalesforceSink TypeBasicCopySink = "SalesforceSink" + // TypeSapCloudForCustomerSink ... + TypeSapCloudForCustomerSink TypeBasicCopySink = "SapCloudForCustomerSink" + // TypeSQLDWSink ... + TypeSQLDWSink TypeBasicCopySink = "SqlDWSink" + // TypeSQLMISink ... + TypeSQLMISink TypeBasicCopySink = "SqlMISink" + // TypeSQLServerSink ... + TypeSQLServerSink TypeBasicCopySink = "SqlServerSink" + // TypeSQLSink ... + TypeSQLSink TypeBasicCopySink = "SqlSink" +) + +// PossibleTypeBasicCopySinkValues returns an array of possible values for the TypeBasicCopySink const type. +func PossibleTypeBasicCopySinkValues() []TypeBasicCopySink { + return []TypeBasicCopySink{TypeAvroSink, TypeAzureBlobFSSink, TypeAzureDataExplorerSink, TypeAzureDataLakeStoreSink, TypeAzureMySQLSink, TypeAzurePostgreSQLSink, TypeAzureQueueSink, TypeAzureSearchIndexSink, TypeAzureSQLSink, TypeAzureTableSink, TypeBinarySink, TypeBlobSink, TypeCommonDataServiceForAppsSink, TypeCopySink, TypeCosmosDbMongoDbAPISink, TypeCosmosDbSQLAPISink, TypeDelimitedTextSink, TypeDocumentDbCollectionSink, TypeDynamicsCrmSink, TypeDynamicsSink, TypeFileSystemSink, TypeInformixSink, TypeJSONSink, TypeMicrosoftAccessSink, TypeOdbcSink, TypeOracleSink, TypeOrcSink, TypeParquetSink, TypeSalesforceServiceCloudSink, TypeSalesforceSink, TypeSapCloudForCustomerSink, TypeSQLDWSink, TypeSQLMISink, TypeSQLServerSink, TypeSQLSink} +} + +// TypeBasicCopySource enumerates the values for type basic copy source. +type TypeBasicCopySource string + +const ( + // TypeAmazonMWSSource ... + TypeAmazonMWSSource TypeBasicCopySource = "AmazonMWSSource" + // TypeAmazonRedshiftSource ... + TypeAmazonRedshiftSource TypeBasicCopySource = "AmazonRedshiftSource" + // TypeAvroSource ... + TypeAvroSource TypeBasicCopySource = "AvroSource" + // TypeAzureBlobFSSource ... + TypeAzureBlobFSSource TypeBasicCopySource = "AzureBlobFSSource" + // TypeAzureDataExplorerSource ... + TypeAzureDataExplorerSource TypeBasicCopySource = "AzureDataExplorerSource" + // TypeAzureDataLakeStoreSource ... + TypeAzureDataLakeStoreSource TypeBasicCopySource = "AzureDataLakeStoreSource" + // TypeAzureMariaDBSource ... + TypeAzureMariaDBSource TypeBasicCopySource = "AzureMariaDBSource" + // TypeAzureMySQLSource ... + TypeAzureMySQLSource TypeBasicCopySource = "AzureMySqlSource" + // TypeAzurePostgreSQLSource ... + TypeAzurePostgreSQLSource TypeBasicCopySource = "AzurePostgreSqlSource" + // TypeAzureSQLSource ... + TypeAzureSQLSource TypeBasicCopySource = "AzureSqlSource" + // TypeAzureTableSource ... + TypeAzureTableSource TypeBasicCopySource = "AzureTableSource" + // TypeBinarySource ... + TypeBinarySource TypeBasicCopySource = "BinarySource" + // TypeBlobSource ... + TypeBlobSource TypeBasicCopySource = "BlobSource" + // TypeCassandraSource ... + TypeCassandraSource TypeBasicCopySource = "CassandraSource" + // TypeCommonDataServiceForAppsSource ... + TypeCommonDataServiceForAppsSource TypeBasicCopySource = "CommonDataServiceForAppsSource" + // TypeConcurSource ... + TypeConcurSource TypeBasicCopySource = "ConcurSource" + // TypeCopySource ... + TypeCopySource TypeBasicCopySource = "CopySource" + // TypeCosmosDbMongoDbAPISource ... + TypeCosmosDbMongoDbAPISource TypeBasicCopySource = "CosmosDbMongoDbApiSource" + // TypeCosmosDbSQLAPISource ... + TypeCosmosDbSQLAPISource TypeBasicCopySource = "CosmosDbSqlApiSource" + // TypeCouchbaseSource ... + TypeCouchbaseSource TypeBasicCopySource = "CouchbaseSource" + // TypeDb2Source ... + TypeDb2Source TypeBasicCopySource = "Db2Source" + // TypeDelimitedTextSource ... + TypeDelimitedTextSource TypeBasicCopySource = "DelimitedTextSource" + // TypeDocumentDbCollectionSource ... + TypeDocumentDbCollectionSource TypeBasicCopySource = "DocumentDbCollectionSource" + // TypeDrillSource ... + TypeDrillSource TypeBasicCopySource = "DrillSource" + // TypeDynamicsAXSource ... + TypeDynamicsAXSource TypeBasicCopySource = "DynamicsAXSource" + // TypeDynamicsCrmSource ... + TypeDynamicsCrmSource TypeBasicCopySource = "DynamicsCrmSource" + // TypeDynamicsSource ... + TypeDynamicsSource TypeBasicCopySource = "DynamicsSource" + // TypeEloquaSource ... + TypeEloquaSource TypeBasicCopySource = "EloquaSource" + // TypeFileSystemSource ... + TypeFileSystemSource TypeBasicCopySource = "FileSystemSource" + // TypeGoogleAdWordsSource ... + TypeGoogleAdWordsSource TypeBasicCopySource = "GoogleAdWordsSource" + // TypeGoogleBigQuerySource ... + TypeGoogleBigQuerySource TypeBasicCopySource = "GoogleBigQuerySource" + // TypeGreenplumSource ... + TypeGreenplumSource TypeBasicCopySource = "GreenplumSource" + // TypeHBaseSource ... + TypeHBaseSource TypeBasicCopySource = "HBaseSource" + // TypeHdfsSource ... + TypeHdfsSource TypeBasicCopySource = "HdfsSource" + // TypeHiveSource ... + TypeHiveSource TypeBasicCopySource = "HiveSource" + // TypeHTTPSource ... + TypeHTTPSource TypeBasicCopySource = "HttpSource" + // TypeHubspotSource ... + TypeHubspotSource TypeBasicCopySource = "HubspotSource" + // TypeImpalaSource ... + TypeImpalaSource TypeBasicCopySource = "ImpalaSource" + // TypeInformixSource ... + TypeInformixSource TypeBasicCopySource = "InformixSource" + // TypeJiraSource ... + TypeJiraSource TypeBasicCopySource = "JiraSource" + // TypeJSONSource ... + TypeJSONSource TypeBasicCopySource = "JsonSource" + // TypeMagentoSource ... + TypeMagentoSource TypeBasicCopySource = "MagentoSource" + // TypeMariaDBSource ... + TypeMariaDBSource TypeBasicCopySource = "MariaDBSource" + // TypeMarketoSource ... + TypeMarketoSource TypeBasicCopySource = "MarketoSource" + // TypeMicrosoftAccessSource ... + TypeMicrosoftAccessSource TypeBasicCopySource = "MicrosoftAccessSource" + // TypeMongoDbSource ... + TypeMongoDbSource TypeBasicCopySource = "MongoDbSource" + // TypeMongoDbV2Source ... + TypeMongoDbV2Source TypeBasicCopySource = "MongoDbV2Source" + // TypeMySQLSource ... + TypeMySQLSource TypeBasicCopySource = "MySqlSource" + // TypeNetezzaSource ... + TypeNetezzaSource TypeBasicCopySource = "NetezzaSource" + // TypeODataSource ... + TypeODataSource TypeBasicCopySource = "ODataSource" + // TypeOdbcSource ... + TypeOdbcSource TypeBasicCopySource = "OdbcSource" + // TypeOffice365Source ... + TypeOffice365Source TypeBasicCopySource = "Office365Source" + // TypeOracleServiceCloudSource ... + TypeOracleServiceCloudSource TypeBasicCopySource = "OracleServiceCloudSource" + // TypeOracleSource ... + TypeOracleSource TypeBasicCopySource = "OracleSource" + // TypeOrcSource ... + TypeOrcSource TypeBasicCopySource = "OrcSource" + // TypeParquetSource ... + TypeParquetSource TypeBasicCopySource = "ParquetSource" + // TypePaypalSource ... + TypePaypalSource TypeBasicCopySource = "PaypalSource" + // TypePhoenixSource ... + TypePhoenixSource TypeBasicCopySource = "PhoenixSource" + // TypePostgreSQLSource ... + TypePostgreSQLSource TypeBasicCopySource = "PostgreSqlSource" + // TypePrestoSource ... + TypePrestoSource TypeBasicCopySource = "PrestoSource" + // TypeQuickBooksSource ... + TypeQuickBooksSource TypeBasicCopySource = "QuickBooksSource" + // TypeRelationalSource ... + TypeRelationalSource TypeBasicCopySource = "RelationalSource" + // TypeResponsysSource ... + TypeResponsysSource TypeBasicCopySource = "ResponsysSource" + // TypeRestSource ... + TypeRestSource TypeBasicCopySource = "RestSource" + // TypeSalesforceMarketingCloudSource ... + TypeSalesforceMarketingCloudSource TypeBasicCopySource = "SalesforceMarketingCloudSource" + // TypeSalesforceServiceCloudSource ... + TypeSalesforceServiceCloudSource TypeBasicCopySource = "SalesforceServiceCloudSource" + // TypeSalesforceSource ... + TypeSalesforceSource TypeBasicCopySource = "SalesforceSource" + // TypeSapBwSource ... + TypeSapBwSource TypeBasicCopySource = "SapBwSource" + // TypeSapCloudForCustomerSource ... + TypeSapCloudForCustomerSource TypeBasicCopySource = "SapCloudForCustomerSource" + // TypeSapEccSource ... + TypeSapEccSource TypeBasicCopySource = "SapEccSource" + // TypeSapHanaSource ... + TypeSapHanaSource TypeBasicCopySource = "SapHanaSource" + // TypeSapOpenHubSource ... + TypeSapOpenHubSource TypeBasicCopySource = "SapOpenHubSource" + // TypeSapTableSource ... + TypeSapTableSource TypeBasicCopySource = "SapTableSource" + // TypeServiceNowSource ... + TypeServiceNowSource TypeBasicCopySource = "ServiceNowSource" + // TypeShopifySource ... + TypeShopifySource TypeBasicCopySource = "ShopifySource" + // TypeSparkSource ... + TypeSparkSource TypeBasicCopySource = "SparkSource" + // TypeSQLDWSource ... + TypeSQLDWSource TypeBasicCopySource = "SqlDWSource" + // TypeSQLMISource ... + TypeSQLMISource TypeBasicCopySource = "SqlMISource" + // TypeSQLServerSource ... + TypeSQLServerSource TypeBasicCopySource = "SqlServerSource" + // TypeSQLSource ... + TypeSQLSource TypeBasicCopySource = "SqlSource" + // TypeSquareSource ... + TypeSquareSource TypeBasicCopySource = "SquareSource" + // TypeSybaseSource ... + TypeSybaseSource TypeBasicCopySource = "SybaseSource" + // TypeTabularSource ... + TypeTabularSource TypeBasicCopySource = "TabularSource" + // TypeTeradataSource ... + TypeTeradataSource TypeBasicCopySource = "TeradataSource" + // TypeVerticaSource ... + TypeVerticaSource TypeBasicCopySource = "VerticaSource" + // TypeWebSource ... + TypeWebSource TypeBasicCopySource = "WebSource" + // TypeXeroSource ... + TypeXeroSource TypeBasicCopySource = "XeroSource" + // TypeZohoSource ... + TypeZohoSource TypeBasicCopySource = "ZohoSource" +) + +// PossibleTypeBasicCopySourceValues returns an array of possible values for the TypeBasicCopySource const type. +func PossibleTypeBasicCopySourceValues() []TypeBasicCopySource { + return []TypeBasicCopySource{TypeAmazonMWSSource, TypeAmazonRedshiftSource, TypeAvroSource, TypeAzureBlobFSSource, TypeAzureDataExplorerSource, TypeAzureDataLakeStoreSource, TypeAzureMariaDBSource, TypeAzureMySQLSource, TypeAzurePostgreSQLSource, TypeAzureSQLSource, TypeAzureTableSource, TypeBinarySource, TypeBlobSource, TypeCassandraSource, TypeCommonDataServiceForAppsSource, TypeConcurSource, TypeCopySource, TypeCosmosDbMongoDbAPISource, TypeCosmosDbSQLAPISource, TypeCouchbaseSource, TypeDb2Source, TypeDelimitedTextSource, TypeDocumentDbCollectionSource, TypeDrillSource, TypeDynamicsAXSource, TypeDynamicsCrmSource, TypeDynamicsSource, TypeEloquaSource, TypeFileSystemSource, TypeGoogleAdWordsSource, TypeGoogleBigQuerySource, TypeGreenplumSource, TypeHBaseSource, TypeHdfsSource, TypeHiveSource, TypeHTTPSource, TypeHubspotSource, TypeImpalaSource, TypeInformixSource, TypeJiraSource, TypeJSONSource, TypeMagentoSource, TypeMariaDBSource, TypeMarketoSource, TypeMicrosoftAccessSource, TypeMongoDbSource, TypeMongoDbV2Source, TypeMySQLSource, TypeNetezzaSource, TypeODataSource, TypeOdbcSource, TypeOffice365Source, TypeOracleServiceCloudSource, TypeOracleSource, TypeOrcSource, TypeParquetSource, TypePaypalSource, TypePhoenixSource, TypePostgreSQLSource, TypePrestoSource, TypeQuickBooksSource, TypeRelationalSource, TypeResponsysSource, TypeRestSource, TypeSalesforceMarketingCloudSource, TypeSalesforceServiceCloudSource, TypeSalesforceSource, TypeSapBwSource, TypeSapCloudForCustomerSource, TypeSapEccSource, TypeSapHanaSource, TypeSapOpenHubSource, TypeSapTableSource, TypeServiceNowSource, TypeShopifySource, TypeSparkSource, TypeSQLDWSource, TypeSQLMISource, TypeSQLServerSource, TypeSQLSource, TypeSquareSource, TypeSybaseSource, TypeTabularSource, TypeTeradataSource, TypeVerticaSource, TypeWebSource, TypeXeroSource, TypeZohoSource} +} + +// TypeBasicDataFlow enumerates the values for type basic data flow. +type TypeBasicDataFlow string + +const ( + // TypeDataFlow ... + TypeDataFlow TypeBasicDataFlow = "DataFlow" + // TypeMappingDataFlow ... + TypeMappingDataFlow TypeBasicDataFlow = "MappingDataFlow" +) + +// PossibleTypeBasicDataFlowValues returns an array of possible values for the TypeBasicDataFlow const type. +func PossibleTypeBasicDataFlowValues() []TypeBasicDataFlow { + return []TypeBasicDataFlow{TypeDataFlow, TypeMappingDataFlow} +} + +// TypeBasicDataset enumerates the values for type basic dataset. +type TypeBasicDataset string + +const ( + // TypeAmazonMWSObject ... + TypeAmazonMWSObject TypeBasicDataset = "AmazonMWSObject" + // TypeAmazonRedshiftTable ... + TypeAmazonRedshiftTable TypeBasicDataset = "AmazonRedshiftTable" + // TypeAvro ... + TypeAvro TypeBasicDataset = "Avro" + // TypeAzureDataExplorerTable ... + TypeAzureDataExplorerTable TypeBasicDataset = "AzureDataExplorerTable" + // TypeAzureMariaDBTable ... + TypeAzureMariaDBTable TypeBasicDataset = "AzureMariaDBTable" + // TypeAzureMySQLTable ... + TypeAzureMySQLTable TypeBasicDataset = "AzureMySqlTable" + // TypeAzurePostgreSQLTable ... + TypeAzurePostgreSQLTable TypeBasicDataset = "AzurePostgreSqlTable" + // TypeAzureSearchIndex ... + TypeAzureSearchIndex TypeBasicDataset = "AzureSearchIndex" + // TypeAzureSQLDWTable ... + TypeAzureSQLDWTable TypeBasicDataset = "AzureSqlDWTable" + // TypeAzureSQLMITable ... + TypeAzureSQLMITable TypeBasicDataset = "AzureSqlMITable" + // TypeAzureSQLTable ... + TypeAzureSQLTable TypeBasicDataset = "AzureSqlTable" + // TypeAzureTable ... + TypeAzureTable TypeBasicDataset = "AzureTable" + // TypeBinary ... + TypeBinary TypeBasicDataset = "Binary" + // TypeCassandraTable ... + TypeCassandraTable TypeBasicDataset = "CassandraTable" + // TypeCommonDataServiceForAppsEntity ... + TypeCommonDataServiceForAppsEntity TypeBasicDataset = "CommonDataServiceForAppsEntity" + // TypeConcurObject ... + TypeConcurObject TypeBasicDataset = "ConcurObject" + // TypeCosmosDbMongoDbAPICollection ... + TypeCosmosDbMongoDbAPICollection TypeBasicDataset = "CosmosDbMongoDbApiCollection" + // TypeCosmosDbSQLAPICollection ... + TypeCosmosDbSQLAPICollection TypeBasicDataset = "CosmosDbSqlApiCollection" + // TypeCouchbaseTable ... + TypeCouchbaseTable TypeBasicDataset = "CouchbaseTable" + // TypeCustomDataset ... + TypeCustomDataset TypeBasicDataset = "CustomDataset" + // TypeDataset ... + TypeDataset TypeBasicDataset = "Dataset" + // TypeDb2Table ... + TypeDb2Table TypeBasicDataset = "Db2Table" + // TypeDelimitedText ... + TypeDelimitedText TypeBasicDataset = "DelimitedText" + // TypeDocumentDbCollection ... + TypeDocumentDbCollection TypeBasicDataset = "DocumentDbCollection" + // TypeDrillTable ... + TypeDrillTable TypeBasicDataset = "DrillTable" + // TypeDynamicsAXResource ... + TypeDynamicsAXResource TypeBasicDataset = "DynamicsAXResource" + // TypeDynamicsCrmEntity ... + TypeDynamicsCrmEntity TypeBasicDataset = "DynamicsCrmEntity" + // TypeDynamicsEntity ... + TypeDynamicsEntity TypeBasicDataset = "DynamicsEntity" + // TypeEloquaObject ... + TypeEloquaObject TypeBasicDataset = "EloquaObject" + // TypeGoogleAdWordsObject ... + TypeGoogleAdWordsObject TypeBasicDataset = "GoogleAdWordsObject" + // TypeGoogleBigQueryObject ... + TypeGoogleBigQueryObject TypeBasicDataset = "GoogleBigQueryObject" + // TypeGreenplumTable ... + TypeGreenplumTable TypeBasicDataset = "GreenplumTable" + // TypeHBaseObject ... + TypeHBaseObject TypeBasicDataset = "HBaseObject" + // TypeHiveObject ... + TypeHiveObject TypeBasicDataset = "HiveObject" + // TypeHubspotObject ... + TypeHubspotObject TypeBasicDataset = "HubspotObject" + // TypeImpalaObject ... + TypeImpalaObject TypeBasicDataset = "ImpalaObject" + // TypeInformixTable ... + TypeInformixTable TypeBasicDataset = "InformixTable" + // TypeJiraObject ... + TypeJiraObject TypeBasicDataset = "JiraObject" + // TypeJSON ... + TypeJSON TypeBasicDataset = "Json" + // TypeMagentoObject ... + TypeMagentoObject TypeBasicDataset = "MagentoObject" + // TypeMariaDBTable ... + TypeMariaDBTable TypeBasicDataset = "MariaDBTable" + // TypeMarketoObject ... + TypeMarketoObject TypeBasicDataset = "MarketoObject" + // TypeMicrosoftAccessTable ... + TypeMicrosoftAccessTable TypeBasicDataset = "MicrosoftAccessTable" + // TypeMongoDbCollection ... + TypeMongoDbCollection TypeBasicDataset = "MongoDbCollection" + // TypeMongoDbV2Collection ... + TypeMongoDbV2Collection TypeBasicDataset = "MongoDbV2Collection" + // TypeMySQLTable ... + TypeMySQLTable TypeBasicDataset = "MySqlTable" + // TypeNetezzaTable ... + TypeNetezzaTable TypeBasicDataset = "NetezzaTable" + // TypeODataResource ... + TypeODataResource TypeBasicDataset = "ODataResource" + // TypeOdbcTable ... + TypeOdbcTable TypeBasicDataset = "OdbcTable" + // TypeOffice365Table ... + TypeOffice365Table TypeBasicDataset = "Office365Table" + // TypeOracleServiceCloudObject ... + TypeOracleServiceCloudObject TypeBasicDataset = "OracleServiceCloudObject" + // TypeOracleTable ... + TypeOracleTable TypeBasicDataset = "OracleTable" + // TypeOrc ... + TypeOrc TypeBasicDataset = "Orc" + // TypeParquet ... + TypeParquet TypeBasicDataset = "Parquet" + // TypePaypalObject ... + TypePaypalObject TypeBasicDataset = "PaypalObject" + // TypePhoenixObject ... + TypePhoenixObject TypeBasicDataset = "PhoenixObject" + // TypePostgreSQLTable ... + TypePostgreSQLTable TypeBasicDataset = "PostgreSqlTable" + // TypePrestoObject ... + TypePrestoObject TypeBasicDataset = "PrestoObject" + // TypeQuickBooksObject ... + TypeQuickBooksObject TypeBasicDataset = "QuickBooksObject" + // TypeRelationalTable ... + TypeRelationalTable TypeBasicDataset = "RelationalTable" + // TypeResponsysObject ... + TypeResponsysObject TypeBasicDataset = "ResponsysObject" + // TypeRestResource ... + TypeRestResource TypeBasicDataset = "RestResource" + // TypeSalesforceMarketingCloudObject ... + TypeSalesforceMarketingCloudObject TypeBasicDataset = "SalesforceMarketingCloudObject" + // TypeSalesforceObject ... + TypeSalesforceObject TypeBasicDataset = "SalesforceObject" + // TypeSalesforceServiceCloudObject ... + TypeSalesforceServiceCloudObject TypeBasicDataset = "SalesforceServiceCloudObject" + // TypeSapBwCube ... + TypeSapBwCube TypeBasicDataset = "SapBwCube" + // TypeSapCloudForCustomerResource ... + TypeSapCloudForCustomerResource TypeBasicDataset = "SapCloudForCustomerResource" + // TypeSapEccResource ... + TypeSapEccResource TypeBasicDataset = "SapEccResource" + // TypeSapHanaTable ... + TypeSapHanaTable TypeBasicDataset = "SapHanaTable" + // TypeSapOpenHubTable ... + TypeSapOpenHubTable TypeBasicDataset = "SapOpenHubTable" + // TypeSapTableResource ... + TypeSapTableResource TypeBasicDataset = "SapTableResource" + // TypeServiceNowObject ... + TypeServiceNowObject TypeBasicDataset = "ServiceNowObject" + // TypeShopifyObject ... + TypeShopifyObject TypeBasicDataset = "ShopifyObject" + // TypeSparkObject ... + TypeSparkObject TypeBasicDataset = "SparkObject" + // TypeSQLServerTable ... + TypeSQLServerTable TypeBasicDataset = "SqlServerTable" + // TypeSquareObject ... + TypeSquareObject TypeBasicDataset = "SquareObject" + // TypeSybaseTable ... + TypeSybaseTable TypeBasicDataset = "SybaseTable" + // TypeTeradataTable ... + TypeTeradataTable TypeBasicDataset = "TeradataTable" + // TypeVerticaTable ... + TypeVerticaTable TypeBasicDataset = "VerticaTable" + // TypeWebTable ... + TypeWebTable TypeBasicDataset = "WebTable" + // TypeXeroObject ... + TypeXeroObject TypeBasicDataset = "XeroObject" + // TypeZohoObject ... + TypeZohoObject TypeBasicDataset = "ZohoObject" +) + +// PossibleTypeBasicDatasetValues returns an array of possible values for the TypeBasicDataset const type. +func PossibleTypeBasicDatasetValues() []TypeBasicDataset { + return []TypeBasicDataset{TypeAmazonMWSObject, TypeAmazonRedshiftTable, TypeAvro, TypeAzureDataExplorerTable, TypeAzureMariaDBTable, TypeAzureMySQLTable, TypeAzurePostgreSQLTable, TypeAzureSearchIndex, TypeAzureSQLDWTable, TypeAzureSQLMITable, TypeAzureSQLTable, TypeAzureTable, TypeBinary, TypeCassandraTable, TypeCommonDataServiceForAppsEntity, TypeConcurObject, TypeCosmosDbMongoDbAPICollection, TypeCosmosDbSQLAPICollection, TypeCouchbaseTable, TypeCustomDataset, TypeDataset, TypeDb2Table, TypeDelimitedText, TypeDocumentDbCollection, TypeDrillTable, TypeDynamicsAXResource, TypeDynamicsCrmEntity, TypeDynamicsEntity, TypeEloquaObject, TypeGoogleAdWordsObject, TypeGoogleBigQueryObject, TypeGreenplumTable, TypeHBaseObject, TypeHiveObject, TypeHubspotObject, TypeImpalaObject, TypeInformixTable, TypeJiraObject, TypeJSON, TypeMagentoObject, TypeMariaDBTable, TypeMarketoObject, TypeMicrosoftAccessTable, TypeMongoDbCollection, TypeMongoDbV2Collection, TypeMySQLTable, TypeNetezzaTable, TypeODataResource, TypeOdbcTable, TypeOffice365Table, TypeOracleServiceCloudObject, TypeOracleTable, TypeOrc, TypeParquet, TypePaypalObject, TypePhoenixObject, TypePostgreSQLTable, TypePrestoObject, TypeQuickBooksObject, TypeRelationalTable, TypeResponsysObject, TypeRestResource, TypeSalesforceMarketingCloudObject, TypeSalesforceObject, TypeSalesforceServiceCloudObject, TypeSapBwCube, TypeSapCloudForCustomerResource, TypeSapEccResource, TypeSapHanaTable, TypeSapOpenHubTable, TypeSapTableResource, TypeServiceNowObject, TypeShopifyObject, TypeSparkObject, TypeSQLServerTable, TypeSquareObject, TypeSybaseTable, TypeTeradataTable, TypeVerticaTable, TypeWebTable, TypeXeroObject, TypeZohoObject} +} + +// TypeBasicDatasetCompression enumerates the values for type basic dataset compression. +type TypeBasicDatasetCompression string + +const ( + // TypeBZip2 ... + TypeBZip2 TypeBasicDatasetCompression = "BZip2" + // TypeDatasetCompression ... + TypeDatasetCompression TypeBasicDatasetCompression = "DatasetCompression" + // TypeDeflate ... + TypeDeflate TypeBasicDatasetCompression = "Deflate" + // TypeGZip ... + TypeGZip TypeBasicDatasetCompression = "GZip" + // TypeZipDeflate ... + TypeZipDeflate TypeBasicDatasetCompression = "ZipDeflate" +) + +// PossibleTypeBasicDatasetCompressionValues returns an array of possible values for the TypeBasicDatasetCompression const type. +func PossibleTypeBasicDatasetCompressionValues() []TypeBasicDatasetCompression { + return []TypeBasicDatasetCompression{TypeBZip2, TypeDatasetCompression, TypeDeflate, TypeGZip, TypeZipDeflate} +} + +// TypeBasicDatasetLocation enumerates the values for type basic dataset location. +type TypeBasicDatasetLocation string + +const ( + // TypeAmazonS3Location ... + TypeAmazonS3Location TypeBasicDatasetLocation = "AmazonS3Location" + // TypeAzureBlobFSLocation ... + TypeAzureBlobFSLocation TypeBasicDatasetLocation = "AzureBlobFSLocation" + // TypeAzureBlobStorageLocation ... + TypeAzureBlobStorageLocation TypeBasicDatasetLocation = "AzureBlobStorageLocation" + // TypeAzureDataLakeStoreLocation ... + TypeAzureDataLakeStoreLocation TypeBasicDatasetLocation = "AzureDataLakeStoreLocation" + // TypeAzureFileStorageLocation ... + TypeAzureFileStorageLocation TypeBasicDatasetLocation = "AzureFileStorageLocation" + // TypeDatasetLocation ... + TypeDatasetLocation TypeBasicDatasetLocation = "DatasetLocation" + // TypeFileServerLocation ... + TypeFileServerLocation TypeBasicDatasetLocation = "FileServerLocation" + // TypeFtpServerLocation ... + TypeFtpServerLocation TypeBasicDatasetLocation = "FtpServerLocation" + // TypeGoogleCloudStorageLocation ... + TypeGoogleCloudStorageLocation TypeBasicDatasetLocation = "GoogleCloudStorageLocation" + // TypeHdfsLocation ... + TypeHdfsLocation TypeBasicDatasetLocation = "HdfsLocation" + // TypeHTTPServerLocation ... + TypeHTTPServerLocation TypeBasicDatasetLocation = "HttpServerLocation" + // TypeSftpLocation ... + TypeSftpLocation TypeBasicDatasetLocation = "SftpLocation" +) + +// PossibleTypeBasicDatasetLocationValues returns an array of possible values for the TypeBasicDatasetLocation const type. +func PossibleTypeBasicDatasetLocationValues() []TypeBasicDatasetLocation { + return []TypeBasicDatasetLocation{TypeAmazonS3Location, TypeAzureBlobFSLocation, TypeAzureBlobStorageLocation, TypeAzureDataLakeStoreLocation, TypeAzureFileStorageLocation, TypeDatasetLocation, TypeFileServerLocation, TypeFtpServerLocation, TypeGoogleCloudStorageLocation, TypeHdfsLocation, TypeHTTPServerLocation, TypeSftpLocation} +} + +// TypeBasicDependencyReference enumerates the values for type basic dependency reference. +type TypeBasicDependencyReference string + +const ( + // TypeDependencyReference ... + TypeDependencyReference TypeBasicDependencyReference = "DependencyReference" + // TypeSelfDependencyTumblingWindowTriggerReference ... + TypeSelfDependencyTumblingWindowTriggerReference TypeBasicDependencyReference = "SelfDependencyTumblingWindowTriggerReference" + // TypeTriggerDependencyReference ... + TypeTriggerDependencyReference TypeBasicDependencyReference = "TriggerDependencyReference" + // TypeTumblingWindowTriggerDependencyReference ... + TypeTumblingWindowTriggerDependencyReference TypeBasicDependencyReference = "TumblingWindowTriggerDependencyReference" +) + +// PossibleTypeBasicDependencyReferenceValues returns an array of possible values for the TypeBasicDependencyReference const type. +func PossibleTypeBasicDependencyReferenceValues() []TypeBasicDependencyReference { + return []TypeBasicDependencyReference{TypeDependencyReference, TypeSelfDependencyTumblingWindowTriggerReference, TypeTriggerDependencyReference, TypeTumblingWindowTriggerDependencyReference} +} + +// TypeBasicFormatReadSettings enumerates the values for type basic format read settings. +type TypeBasicFormatReadSettings string + +const ( + // TypeDelimitedTextReadSettings ... + TypeDelimitedTextReadSettings TypeBasicFormatReadSettings = "DelimitedTextReadSettings" + // TypeFormatReadSettings ... + TypeFormatReadSettings TypeBasicFormatReadSettings = "FormatReadSettings" +) + +// PossibleTypeBasicFormatReadSettingsValues returns an array of possible values for the TypeBasicFormatReadSettings const type. +func PossibleTypeBasicFormatReadSettingsValues() []TypeBasicFormatReadSettings { + return []TypeBasicFormatReadSettings{TypeDelimitedTextReadSettings, TypeFormatReadSettings} +} + +// TypeBasicFormatWriteSettings enumerates the values for type basic format write settings. +type TypeBasicFormatWriteSettings string + +const ( + // TypeAvroWriteSettings ... + TypeAvroWriteSettings TypeBasicFormatWriteSettings = "AvroWriteSettings" + // TypeDelimitedTextWriteSettings ... + TypeDelimitedTextWriteSettings TypeBasicFormatWriteSettings = "DelimitedTextWriteSettings" + // TypeFormatWriteSettings ... + TypeFormatWriteSettings TypeBasicFormatWriteSettings = "FormatWriteSettings" + // TypeJSONWriteSettings ... + TypeJSONWriteSettings TypeBasicFormatWriteSettings = "JsonWriteSettings" +) + +// PossibleTypeBasicFormatWriteSettingsValues returns an array of possible values for the TypeBasicFormatWriteSettings const type. +func PossibleTypeBasicFormatWriteSettingsValues() []TypeBasicFormatWriteSettings { + return []TypeBasicFormatWriteSettings{TypeAvroWriteSettings, TypeDelimitedTextWriteSettings, TypeFormatWriteSettings, TypeJSONWriteSettings} +} + +// TypeBasicLinkedService enumerates the values for type basic linked service. +type TypeBasicLinkedService string + +const ( + // TypeAmazonMWS ... + TypeAmazonMWS TypeBasicLinkedService = "AmazonMWS" + // TypeAmazonRedshift ... + TypeAmazonRedshift TypeBasicLinkedService = "AmazonRedshift" + // TypeAmazonS3 ... + TypeAmazonS3 TypeBasicLinkedService = "AmazonS3" + // TypeAzureBatch ... + TypeAzureBatch TypeBasicLinkedService = "AzureBatch" + // TypeAzureBlobFS ... + TypeAzureBlobFS TypeBasicLinkedService = "AzureBlobFS" + // TypeAzureBlobStorage ... + TypeAzureBlobStorage TypeBasicLinkedService = "AzureBlobStorage" + // TypeAzureDatabricks ... + TypeAzureDatabricks TypeBasicLinkedService = "AzureDatabricks" + // TypeAzureDataExplorer ... + TypeAzureDataExplorer TypeBasicLinkedService = "AzureDataExplorer" + // TypeAzureDataLakeAnalytics ... + TypeAzureDataLakeAnalytics TypeBasicLinkedService = "AzureDataLakeAnalytics" + // TypeAzureDataLakeStore ... + TypeAzureDataLakeStore TypeBasicLinkedService = "AzureDataLakeStore" + // TypeAzureFileStorage ... + TypeAzureFileStorage TypeBasicLinkedService = "AzureFileStorage" + // TypeAzureFunction ... + TypeAzureFunction TypeBasicLinkedService = "AzureFunction" + // TypeAzureKeyVault ... + TypeAzureKeyVault TypeBasicLinkedService = "AzureKeyVault" + // TypeAzureMariaDB ... + TypeAzureMariaDB TypeBasicLinkedService = "AzureMariaDB" + // TypeAzureML ... + TypeAzureML TypeBasicLinkedService = "AzureML" + // TypeAzureMLService ... + TypeAzureMLService TypeBasicLinkedService = "AzureMLService" + // TypeAzureMySQL ... + TypeAzureMySQL TypeBasicLinkedService = "AzureMySql" + // TypeAzurePostgreSQL ... + TypeAzurePostgreSQL TypeBasicLinkedService = "AzurePostgreSql" + // TypeAzureSearch ... + TypeAzureSearch TypeBasicLinkedService = "AzureSearch" + // TypeAzureSQLDatabase ... + TypeAzureSQLDatabase TypeBasicLinkedService = "AzureSqlDatabase" + // TypeAzureSQLDW ... + TypeAzureSQLDW TypeBasicLinkedService = "AzureSqlDW" + // TypeAzureSQLMI ... + TypeAzureSQLMI TypeBasicLinkedService = "AzureSqlMI" + // TypeAzureStorage ... + TypeAzureStorage TypeBasicLinkedService = "AzureStorage" + // TypeAzureTableStorage ... + TypeAzureTableStorage TypeBasicLinkedService = "AzureTableStorage" + // TypeCassandra ... + TypeCassandra TypeBasicLinkedService = "Cassandra" + // TypeCommonDataServiceForApps ... + TypeCommonDataServiceForApps TypeBasicLinkedService = "CommonDataServiceForApps" + // TypeConcur ... + TypeConcur TypeBasicLinkedService = "Concur" + // TypeCosmosDb ... + TypeCosmosDb TypeBasicLinkedService = "CosmosDb" + // TypeCosmosDbMongoDbAPI ... + TypeCosmosDbMongoDbAPI TypeBasicLinkedService = "CosmosDbMongoDbApi" + // TypeCouchbase ... + TypeCouchbase TypeBasicLinkedService = "Couchbase" + // TypeCustomDataSource ... + TypeCustomDataSource TypeBasicLinkedService = "CustomDataSource" + // TypeDb2 ... + TypeDb2 TypeBasicLinkedService = "Db2" + // TypeDrill ... + TypeDrill TypeBasicLinkedService = "Drill" + // TypeDynamics ... + TypeDynamics TypeBasicLinkedService = "Dynamics" + // TypeDynamicsAX ... + TypeDynamicsAX TypeBasicLinkedService = "DynamicsAX" + // TypeDynamicsCrm ... + TypeDynamicsCrm TypeBasicLinkedService = "DynamicsCrm" + // TypeEloqua ... + TypeEloqua TypeBasicLinkedService = "Eloqua" + // TypeFileServer ... + TypeFileServer TypeBasicLinkedService = "FileServer" + // TypeFtpServer ... + TypeFtpServer TypeBasicLinkedService = "FtpServer" + // TypeGoogleAdWords ... + TypeGoogleAdWords TypeBasicLinkedService = "GoogleAdWords" + // TypeGoogleBigQuery ... + TypeGoogleBigQuery TypeBasicLinkedService = "GoogleBigQuery" + // TypeGoogleCloudStorage ... + TypeGoogleCloudStorage TypeBasicLinkedService = "GoogleCloudStorage" + // TypeGreenplum ... + TypeGreenplum TypeBasicLinkedService = "Greenplum" + // TypeHBase ... + TypeHBase TypeBasicLinkedService = "HBase" + // TypeHdfs ... + TypeHdfs TypeBasicLinkedService = "Hdfs" + // TypeHDInsight ... + TypeHDInsight TypeBasicLinkedService = "HDInsight" + // TypeHDInsightOnDemand ... + TypeHDInsightOnDemand TypeBasicLinkedService = "HDInsightOnDemand" + // TypeHive ... + TypeHive TypeBasicLinkedService = "Hive" + // TypeHTTPServer ... + TypeHTTPServer TypeBasicLinkedService = "HttpServer" + // TypeHubspot ... + TypeHubspot TypeBasicLinkedService = "Hubspot" + // TypeImpala ... + TypeImpala TypeBasicLinkedService = "Impala" + // TypeInformix ... + TypeInformix TypeBasicLinkedService = "Informix" + // TypeJira ... + TypeJira TypeBasicLinkedService = "Jira" + // TypeLinkedService ... + TypeLinkedService TypeBasicLinkedService = "LinkedService" + // TypeMagento ... + TypeMagento TypeBasicLinkedService = "Magento" + // TypeMariaDB ... + TypeMariaDB TypeBasicLinkedService = "MariaDB" + // TypeMarketo ... + TypeMarketo TypeBasicLinkedService = "Marketo" + // TypeMicrosoftAccess ... + TypeMicrosoftAccess TypeBasicLinkedService = "MicrosoftAccess" + // TypeMongoDb ... + TypeMongoDb TypeBasicLinkedService = "MongoDb" + // TypeMongoDbV2 ... + TypeMongoDbV2 TypeBasicLinkedService = "MongoDbV2" + // TypeMySQL ... + TypeMySQL TypeBasicLinkedService = "MySql" + // TypeNetezza ... + TypeNetezza TypeBasicLinkedService = "Netezza" + // TypeOData ... + TypeOData TypeBasicLinkedService = "OData" + // TypeOdbc ... + TypeOdbc TypeBasicLinkedService = "Odbc" + // TypeOffice365 ... + TypeOffice365 TypeBasicLinkedService = "Office365" + // TypeOracle ... + TypeOracle TypeBasicLinkedService = "Oracle" + // TypeOracleServiceCloud ... + TypeOracleServiceCloud TypeBasicLinkedService = "OracleServiceCloud" + // TypePaypal ... + TypePaypal TypeBasicLinkedService = "Paypal" + // TypePhoenix ... + TypePhoenix TypeBasicLinkedService = "Phoenix" + // TypePostgreSQL ... + TypePostgreSQL TypeBasicLinkedService = "PostgreSql" + // TypePresto ... + TypePresto TypeBasicLinkedService = "Presto" + // TypeQuickBooks ... + TypeQuickBooks TypeBasicLinkedService = "QuickBooks" + // TypeResponsys ... + TypeResponsys TypeBasicLinkedService = "Responsys" + // TypeRestService ... + TypeRestService TypeBasicLinkedService = "RestService" + // TypeSalesforce ... + TypeSalesforce TypeBasicLinkedService = "Salesforce" + // TypeSalesforceMarketingCloud ... + TypeSalesforceMarketingCloud TypeBasicLinkedService = "SalesforceMarketingCloud" + // TypeSalesforceServiceCloud ... + TypeSalesforceServiceCloud TypeBasicLinkedService = "SalesforceServiceCloud" + // TypeSapBW ... + TypeSapBW TypeBasicLinkedService = "SapBW" + // TypeSapCloudForCustomer ... + TypeSapCloudForCustomer TypeBasicLinkedService = "SapCloudForCustomer" + // TypeSapEcc ... + TypeSapEcc TypeBasicLinkedService = "SapEcc" + // TypeSapHana ... + TypeSapHana TypeBasicLinkedService = "SapHana" + // TypeSapOpenHub ... + TypeSapOpenHub TypeBasicLinkedService = "SapOpenHub" + // TypeSapTable ... + TypeSapTable TypeBasicLinkedService = "SapTable" + // TypeServiceNow ... + TypeServiceNow TypeBasicLinkedService = "ServiceNow" + // TypeSftp ... + TypeSftp TypeBasicLinkedService = "Sftp" + // TypeShopify ... + TypeShopify TypeBasicLinkedService = "Shopify" + // TypeSpark ... + TypeSpark TypeBasicLinkedService = "Spark" + // TypeSQLServer ... + TypeSQLServer TypeBasicLinkedService = "SqlServer" + // TypeSquare ... + TypeSquare TypeBasicLinkedService = "Square" + // TypeSybase ... + TypeSybase TypeBasicLinkedService = "Sybase" + // TypeTeradata ... + TypeTeradata TypeBasicLinkedService = "Teradata" + // TypeVertica ... + TypeVertica TypeBasicLinkedService = "Vertica" + // TypeWeb ... + TypeWeb TypeBasicLinkedService = "Web" + // TypeXero ... + TypeXero TypeBasicLinkedService = "Xero" + // TypeZoho ... + TypeZoho TypeBasicLinkedService = "Zoho" +) + +// PossibleTypeBasicLinkedServiceValues returns an array of possible values for the TypeBasicLinkedService const type. +func PossibleTypeBasicLinkedServiceValues() []TypeBasicLinkedService { + return []TypeBasicLinkedService{TypeAmazonMWS, TypeAmazonRedshift, TypeAmazonS3, TypeAzureBatch, TypeAzureBlobFS, TypeAzureBlobStorage, TypeAzureDatabricks, TypeAzureDataExplorer, TypeAzureDataLakeAnalytics, TypeAzureDataLakeStore, TypeAzureFileStorage, TypeAzureFunction, TypeAzureKeyVault, TypeAzureMariaDB, TypeAzureML, TypeAzureMLService, TypeAzureMySQL, TypeAzurePostgreSQL, TypeAzureSearch, TypeAzureSQLDatabase, TypeAzureSQLDW, TypeAzureSQLMI, TypeAzureStorage, TypeAzureTableStorage, TypeCassandra, TypeCommonDataServiceForApps, TypeConcur, TypeCosmosDb, TypeCosmosDbMongoDbAPI, TypeCouchbase, TypeCustomDataSource, TypeDb2, TypeDrill, TypeDynamics, TypeDynamicsAX, TypeDynamicsCrm, TypeEloqua, TypeFileServer, TypeFtpServer, TypeGoogleAdWords, TypeGoogleBigQuery, TypeGoogleCloudStorage, TypeGreenplum, TypeHBase, TypeHdfs, TypeHDInsight, TypeHDInsightOnDemand, TypeHive, TypeHTTPServer, TypeHubspot, TypeImpala, TypeInformix, TypeJira, TypeLinkedService, TypeMagento, TypeMariaDB, TypeMarketo, TypeMicrosoftAccess, TypeMongoDb, TypeMongoDbV2, TypeMySQL, TypeNetezza, TypeOData, TypeOdbc, TypeOffice365, TypeOracle, TypeOracleServiceCloud, TypePaypal, TypePhoenix, TypePostgreSQL, TypePresto, TypeQuickBooks, TypeResponsys, TypeRestService, TypeSalesforce, TypeSalesforceMarketingCloud, TypeSalesforceServiceCloud, TypeSapBW, TypeSapCloudForCustomer, TypeSapEcc, TypeSapHana, TypeSapOpenHub, TypeSapTable, TypeServiceNow, TypeSftp, TypeShopify, TypeSpark, TypeSQLServer, TypeSquare, TypeSybase, TypeTeradata, TypeVertica, TypeWeb, TypeXero, TypeZoho} +} + +// TypeBasicStoreReadSettings enumerates the values for type basic store read settings. +type TypeBasicStoreReadSettings string + +const ( + // TypeAmazonS3ReadSettings ... + TypeAmazonS3ReadSettings TypeBasicStoreReadSettings = "AmazonS3ReadSettings" + // TypeAzureBlobFSReadSettings ... + TypeAzureBlobFSReadSettings TypeBasicStoreReadSettings = "AzureBlobFSReadSettings" + // TypeAzureBlobStorageReadSettings ... + TypeAzureBlobStorageReadSettings TypeBasicStoreReadSettings = "AzureBlobStorageReadSettings" + // TypeAzureDataLakeStoreReadSettings ... + TypeAzureDataLakeStoreReadSettings TypeBasicStoreReadSettings = "AzureDataLakeStoreReadSettings" + // TypeAzureFileStorageReadSettings ... + TypeAzureFileStorageReadSettings TypeBasicStoreReadSettings = "AzureFileStorageReadSettings" + // TypeFileServerReadSettings ... + TypeFileServerReadSettings TypeBasicStoreReadSettings = "FileServerReadSettings" + // TypeFtpReadSettings ... + TypeFtpReadSettings TypeBasicStoreReadSettings = "FtpReadSettings" + // TypeGoogleCloudStorageReadSettings ... + TypeGoogleCloudStorageReadSettings TypeBasicStoreReadSettings = "GoogleCloudStorageReadSettings" + // TypeHdfsReadSettings ... + TypeHdfsReadSettings TypeBasicStoreReadSettings = "HdfsReadSettings" + // TypeHTTPReadSettings ... + TypeHTTPReadSettings TypeBasicStoreReadSettings = "HttpReadSettings" + // TypeSftpReadSettings ... + TypeSftpReadSettings TypeBasicStoreReadSettings = "SftpReadSettings" + // TypeStoreReadSettings ... + TypeStoreReadSettings TypeBasicStoreReadSettings = "StoreReadSettings" +) + +// PossibleTypeBasicStoreReadSettingsValues returns an array of possible values for the TypeBasicStoreReadSettings const type. +func PossibleTypeBasicStoreReadSettingsValues() []TypeBasicStoreReadSettings { + return []TypeBasicStoreReadSettings{TypeAmazonS3ReadSettings, TypeAzureBlobFSReadSettings, TypeAzureBlobStorageReadSettings, TypeAzureDataLakeStoreReadSettings, TypeAzureFileStorageReadSettings, TypeFileServerReadSettings, TypeFtpReadSettings, TypeGoogleCloudStorageReadSettings, TypeHdfsReadSettings, TypeHTTPReadSettings, TypeSftpReadSettings, TypeStoreReadSettings} +} + +// TypeBasicStoreWriteSettings enumerates the values for type basic store write settings. +type TypeBasicStoreWriteSettings string + +const ( + // TypeAzureBlobFSWriteSettings ... + TypeAzureBlobFSWriteSettings TypeBasicStoreWriteSettings = "AzureBlobFSWriteSettings" + // TypeAzureBlobStorageWriteSettings ... + TypeAzureBlobStorageWriteSettings TypeBasicStoreWriteSettings = "AzureBlobStorageWriteSettings" + // TypeAzureDataLakeStoreWriteSettings ... + TypeAzureDataLakeStoreWriteSettings TypeBasicStoreWriteSettings = "AzureDataLakeStoreWriteSettings" + // TypeFileServerWriteSettings ... + TypeFileServerWriteSettings TypeBasicStoreWriteSettings = "FileServerWriteSettings" + // TypeSftpWriteSettings ... + TypeSftpWriteSettings TypeBasicStoreWriteSettings = "SftpWriteSettings" + // TypeStoreWriteSettings ... + TypeStoreWriteSettings TypeBasicStoreWriteSettings = "StoreWriteSettings" +) + +// PossibleTypeBasicStoreWriteSettingsValues returns an array of possible values for the TypeBasicStoreWriteSettings const type. +func PossibleTypeBasicStoreWriteSettingsValues() []TypeBasicStoreWriteSettings { + return []TypeBasicStoreWriteSettings{TypeAzureBlobFSWriteSettings, TypeAzureBlobStorageWriteSettings, TypeAzureDataLakeStoreWriteSettings, TypeFileServerWriteSettings, TypeSftpWriteSettings, TypeStoreWriteSettings} +} + +// TypeBasicTrigger enumerates the values for type basic trigger. +type TypeBasicTrigger string + +const ( + // TypeBlobEventsTrigger ... + TypeBlobEventsTrigger TypeBasicTrigger = "BlobEventsTrigger" + // TypeBlobTrigger ... + TypeBlobTrigger TypeBasicTrigger = "BlobTrigger" + // TypeChainingTrigger ... + TypeChainingTrigger TypeBasicTrigger = "ChainingTrigger" + // TypeMultiplePipelineTrigger ... + TypeMultiplePipelineTrigger TypeBasicTrigger = "MultiplePipelineTrigger" + // TypeRerunTumblingWindowTrigger ... + TypeRerunTumblingWindowTrigger TypeBasicTrigger = "RerunTumblingWindowTrigger" + // TypeScheduleTrigger ... + TypeScheduleTrigger TypeBasicTrigger = "ScheduleTrigger" + // TypeTrigger ... + TypeTrigger TypeBasicTrigger = "Trigger" + // TypeTumblingWindowTrigger ... + TypeTumblingWindowTrigger TypeBasicTrigger = "TumblingWindowTrigger" +) + +// PossibleTypeBasicTriggerValues returns an array of possible values for the TypeBasicTrigger const type. +func PossibleTypeBasicTriggerValues() []TypeBasicTrigger { + return []TypeBasicTrigger{TypeBlobEventsTrigger, TypeBlobTrigger, TypeChainingTrigger, TypeMultiplePipelineTrigger, TypeRerunTumblingWindowTrigger, TypeScheduleTrigger, TypeTrigger, TypeTumblingWindowTrigger} +} + +// VariableType enumerates the values for variable type. +type VariableType string + +const ( + // VariableTypeArray ... + VariableTypeArray VariableType = "Array" + // VariableTypeBool ... + VariableTypeBool VariableType = "Bool" + // VariableTypeBoolean ... + VariableTypeBoolean VariableType = "Boolean" + // VariableTypeString ... + VariableTypeString VariableType = "String" +) + +// PossibleVariableTypeValues returns an array of possible values for the VariableType const type. +func PossibleVariableTypeValues() []VariableType { + return []VariableType{VariableTypeArray, VariableTypeBool, VariableTypeBoolean, VariableTypeString} +} + +// WebActivityMethod enumerates the values for web activity method. +type WebActivityMethod string + +const ( + // WebActivityMethodDELETE ... + WebActivityMethodDELETE WebActivityMethod = "DELETE" + // WebActivityMethodGET ... + WebActivityMethodGET WebActivityMethod = "GET" + // WebActivityMethodPOST ... + WebActivityMethodPOST WebActivityMethod = "POST" + // WebActivityMethodPUT ... + WebActivityMethodPUT WebActivityMethod = "PUT" +) + +// PossibleWebActivityMethodValues returns an array of possible values for the WebActivityMethod const type. +func PossibleWebActivityMethodValues() []WebActivityMethod { + return []WebActivityMethod{WebActivityMethodDELETE, WebActivityMethodGET, WebActivityMethodPOST, WebActivityMethodPUT} +} + +// WebHookActivityMethod enumerates the values for web hook activity method. +type WebHookActivityMethod string + +const ( + // WebHookActivityMethodPOST ... + WebHookActivityMethodPOST WebHookActivityMethod = "POST" +) + +// PossibleWebHookActivityMethodValues returns an array of possible values for the WebHookActivityMethod const type. +func PossibleWebHookActivityMethodValues() []WebHookActivityMethod { + return []WebHookActivityMethod{WebHookActivityMethodPOST} +} + +// BasicActivity a pipeline activity. +type BasicActivity interface { + AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) + AsAzureFunctionActivity() (*AzureFunctionActivity, bool) + AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) + AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) + AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) + AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) + AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) + AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) + AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) + AsGetMetadataActivity() (*GetMetadataActivity, bool) + AsWebActivity() (*WebActivity, bool) + AsLookupActivity() (*LookupActivity, bool) + AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) + AsDeleteActivity() (*DeleteActivity, bool) + AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) + AsCustomActivity() (*CustomActivity, bool) + AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) + AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) + AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) + AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) + AsHDInsightPigActivity() (*HDInsightPigActivity, bool) + AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) + AsCopyActivity() (*CopyActivity, bool) + AsExecutionActivity() (*ExecutionActivity, bool) + AsBasicExecutionActivity() (BasicExecutionActivity, bool) + AsWebHookActivity() (*WebHookActivity, bool) + AsAppendVariableActivity() (*AppendVariableActivity, bool) + AsSetVariableActivity() (*SetVariableActivity, bool) + AsFilterActivity() (*FilterActivity, bool) + AsValidationActivity() (*ValidationActivity, bool) + AsUntilActivity() (*UntilActivity, bool) + AsWaitActivity() (*WaitActivity, bool) + AsForEachActivity() (*ForEachActivity, bool) + AsSwitchActivity() (*SwitchActivity, bool) + AsIfConditionActivity() (*IfConditionActivity, bool) + AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) + AsControlActivity() (*ControlActivity, bool) + AsBasicControlActivity() (BasicControlActivity, bool) + AsActivity() (*Activity, bool) +} + +// Activity a pipeline activity. +type Activity struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +func unmarshalBasicActivity(body []byte) (BasicActivity, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeExecuteDataFlow): + var edfa ExecuteDataFlowActivity + err := json.Unmarshal(body, &edfa) + return edfa, err + case string(TypeAzureFunctionActivity): + var afa AzureFunctionActivity + err := json.Unmarshal(body, &afa) + return afa, err + case string(TypeDatabricksSparkPython): + var dspa DatabricksSparkPythonActivity + err := json.Unmarshal(body, &dspa) + return dspa, err + case string(TypeDatabricksSparkJar): + var dsja DatabricksSparkJarActivity + err := json.Unmarshal(body, &dsja) + return dsja, err + case string(TypeDatabricksNotebook): + var dna DatabricksNotebookActivity + err := json.Unmarshal(body, &dna) + return dna, err + case string(TypeDataLakeAnalyticsUSQL): + var dlaua DataLakeAnalyticsUSQLActivity + err := json.Unmarshal(body, &dlaua) + return dlaua, err + case string(TypeAzureMLExecutePipeline): + var amepa AzureMLExecutePipelineActivity + err := json.Unmarshal(body, &amepa) + return amepa, err + case string(TypeAzureMLUpdateResource): + var amura AzureMLUpdateResourceActivity + err := json.Unmarshal(body, &amura) + return amura, err + case string(TypeAzureMLBatchExecution): + var ambea AzureMLBatchExecutionActivity + err := json.Unmarshal(body, &ambea) + return ambea, err + case string(TypeGetMetadata): + var gma GetMetadataActivity + err := json.Unmarshal(body, &gma) + return gma, err + case string(TypeWebActivity): + var wa WebActivity + err := json.Unmarshal(body, &wa) + return wa, err + case string(TypeLookup): + var la LookupActivity + err := json.Unmarshal(body, &la) + return la, err + case string(TypeAzureDataExplorerCommand): + var adeca AzureDataExplorerCommandActivity + err := json.Unmarshal(body, &adeca) + return adeca, err + case string(TypeDelete): + var da DeleteActivity + err := json.Unmarshal(body, &da) + return da, err + case string(TypeSQLServerStoredProcedure): + var ssspa SQLServerStoredProcedureActivity + err := json.Unmarshal(body, &ssspa) + return ssspa, err + case string(TypeCustom): + var ca CustomActivity + err := json.Unmarshal(body, &ca) + return ca, err + case string(TypeExecuteSSISPackage): + var espa ExecuteSSISPackageActivity + err := json.Unmarshal(body, &espa) + return espa, err + case string(TypeHDInsightSpark): + var hisa HDInsightSparkActivity + err := json.Unmarshal(body, &hisa) + return hisa, err + case string(TypeHDInsightStreaming): + var hisa HDInsightStreamingActivity + err := json.Unmarshal(body, &hisa) + return hisa, err + case string(TypeHDInsightMapReduce): + var himra HDInsightMapReduceActivity + err := json.Unmarshal(body, &himra) + return himra, err + case string(TypeHDInsightPig): + var hipa HDInsightPigActivity + err := json.Unmarshal(body, &hipa) + return hipa, err + case string(TypeHDInsightHive): + var hiha HDInsightHiveActivity + err := json.Unmarshal(body, &hiha) + return hiha, err + case string(TypeCopy): + var ca CopyActivity + err := json.Unmarshal(body, &ca) + return ca, err + case string(TypeExecution): + var ea ExecutionActivity + err := json.Unmarshal(body, &ea) + return ea, err + case string(TypeWebHook): + var wha WebHookActivity + err := json.Unmarshal(body, &wha) + return wha, err + case string(TypeAppendVariable): + var ava AppendVariableActivity + err := json.Unmarshal(body, &ava) + return ava, err + case string(TypeSetVariable): + var sva SetVariableActivity + err := json.Unmarshal(body, &sva) + return sva, err + case string(TypeFilter): + var fa FilterActivity + err := json.Unmarshal(body, &fa) + return fa, err + case string(TypeValidation): + var va ValidationActivity + err := json.Unmarshal(body, &va) + return va, err + case string(TypeUntil): + var ua UntilActivity + err := json.Unmarshal(body, &ua) + return ua, err + case string(TypeWait): + var wa WaitActivity + err := json.Unmarshal(body, &wa) + return wa, err + case string(TypeForEach): + var fea ForEachActivity + err := json.Unmarshal(body, &fea) + return fea, err + case string(TypeSwitch): + var sa SwitchActivity + err := json.Unmarshal(body, &sa) + return sa, err + case string(TypeIfCondition): + var ica IfConditionActivity + err := json.Unmarshal(body, &ica) + return ica, err + case string(TypeExecutePipeline): + var epa ExecutePipelineActivity + err := json.Unmarshal(body, &epa) + return epa, err + case string(TypeContainer): + var ca ControlActivity + err := json.Unmarshal(body, &ca) + return ca, err + default: + var a Activity + err := json.Unmarshal(body, &a) + return a, err + } +} +func unmarshalBasicActivityArray(body []byte) ([]BasicActivity, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + aArray := make([]BasicActivity, len(rawMessages)) + + for index, rawMessage := range rawMessages { + a, err := unmarshalBasicActivity(*rawMessage) + if err != nil { + return nil, err + } + aArray[index] = a + } + return aArray, nil +} + +// MarshalJSON is the custom marshaler for Activity. +func (a Activity) MarshalJSON() ([]byte, error) { + a.Type = TypeActivity + objectMap := make(map[string]interface{}) + if a.Name != nil { + objectMap["name"] = a.Name + } + if a.Description != nil { + objectMap["description"] = a.Description + } + if a.DependsOn != nil { + objectMap["dependsOn"] = a.DependsOn + } + if a.UserProperties != nil { + objectMap["userProperties"] = a.UserProperties + } + if a.Type != "" { + objectMap["type"] = a.Type + } + for k, v := range a.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for Activity. +func (a Activity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for Activity. +func (a Activity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for Activity. +func (a Activity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for Activity. +func (a Activity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for Activity. +func (a Activity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for Activity. +func (a Activity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for Activity. +func (a Activity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for Activity. +func (a Activity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for Activity. +func (a Activity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for Activity. +func (a Activity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for Activity. +func (a Activity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for Activity. +func (a Activity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for Activity. +func (a Activity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for Activity. +func (a Activity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for Activity. +func (a Activity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for Activity. +func (a Activity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for Activity. +func (a Activity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for Activity. +func (a Activity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for Activity. +func (a Activity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for Activity. +func (a Activity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for Activity. +func (a Activity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for Activity. +func (a Activity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for Activity. +func (a Activity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for Activity. +func (a Activity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for Activity. +func (a Activity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for Activity. +func (a Activity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for Activity. +func (a Activity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for Activity. +func (a Activity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for Activity. +func (a Activity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for Activity. +func (a Activity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for Activity. +func (a Activity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for Activity. +func (a Activity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for Activity. +func (a Activity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for Activity. +func (a Activity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for Activity. +func (a Activity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for Activity. +func (a Activity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for Activity. +func (a Activity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for Activity. +func (a Activity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for Activity. +func (a Activity) AsActivity() (*Activity, bool) { + return &a, true +} + +// AsBasicActivity is the BasicActivity implementation for Activity. +func (a Activity) AsBasicActivity() (BasicActivity, bool) { + return &a, true +} + +// UnmarshalJSON is the custom unmarshaler for Activity struct. +func (a *Activity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if a.AdditionalProperties == nil { + a.AdditionalProperties = make(map[string]interface{}) + } + a.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + a.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + a.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + a.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + a.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + a.Type = typeVar + } + } + } + + return nil +} + +// ActivityDependency activity dependency information. +type ActivityDependency struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Activity - Activity name. + Activity *string `json:"activity,omitempty"` + // DependencyConditions - Match-Condition for the dependency. + DependencyConditions *[]DependencyCondition `json:"dependencyConditions,omitempty"` +} + +// MarshalJSON is the custom marshaler for ActivityDependency. +func (ad ActivityDependency) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ad.Activity != nil { + objectMap["activity"] = ad.Activity + } + if ad.DependencyConditions != nil { + objectMap["dependencyConditions"] = ad.DependencyConditions + } + for k, v := range ad.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ActivityDependency struct. +func (ad *ActivityDependency) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ad.AdditionalProperties == nil { + ad.AdditionalProperties = make(map[string]interface{}) + } + ad.AdditionalProperties[k] = additionalProperties + } + case "activity": + if v != nil { + var activity string + err = json.Unmarshal(*v, &activity) + if err != nil { + return err + } + ad.Activity = &activity + } + case "dependencyConditions": + if v != nil { + var dependencyConditions []DependencyCondition + err = json.Unmarshal(*v, &dependencyConditions) + if err != nil { + return err + } + ad.DependencyConditions = &dependencyConditions + } + } + } + + return nil +} + +// ActivityPolicy execution policy for an activity. +type ActivityPolicy struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // 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])). + Timeout interface{} `json:"timeout,omitempty"` + // Retry - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0. + Retry interface{} `json:"retry,omitempty"` + // RetryIntervalInSeconds - Interval between each retry attempt (in seconds). The default is 30 sec. + RetryIntervalInSeconds *int32 `json:"retryIntervalInSeconds,omitempty"` + // SecureInput - When set to true, Input from activity is considered as secure and will not be logged to monitoring. + SecureInput *bool `json:"secureInput,omitempty"` + // SecureOutput - When set to true, Output from activity is considered as secure and will not be logged to monitoring. + SecureOutput *bool `json:"secureOutput,omitempty"` +} + +// MarshalJSON is the custom marshaler for ActivityPolicy. +func (ap ActivityPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ap.Timeout != nil { + objectMap["timeout"] = ap.Timeout + } + if ap.Retry != nil { + objectMap["retry"] = ap.Retry + } + if ap.RetryIntervalInSeconds != nil { + objectMap["retryIntervalInSeconds"] = ap.RetryIntervalInSeconds + } + if ap.SecureInput != nil { + objectMap["secureInput"] = ap.SecureInput + } + if ap.SecureOutput != nil { + objectMap["secureOutput"] = ap.SecureOutput + } + for k, v := range ap.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ActivityPolicy struct. +func (ap *ActivityPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ap.AdditionalProperties == nil { + ap.AdditionalProperties = make(map[string]interface{}) + } + ap.AdditionalProperties[k] = additionalProperties + } + case "timeout": + if v != nil { + var timeout interface{} + err = json.Unmarshal(*v, &timeout) + if err != nil { + return err + } + ap.Timeout = timeout + } + case "retry": + if v != nil { + var retry interface{} + err = json.Unmarshal(*v, &retry) + if err != nil { + return err + } + ap.Retry = retry + } + case "retryIntervalInSeconds": + if v != nil { + var retryIntervalInSeconds int32 + err = json.Unmarshal(*v, &retryIntervalInSeconds) + if err != nil { + return err + } + ap.RetryIntervalInSeconds = &retryIntervalInSeconds + } + case "secureInput": + if v != nil { + var secureInput bool + err = json.Unmarshal(*v, &secureInput) + if err != nil { + return err + } + ap.SecureInput = &secureInput + } + case "secureOutput": + if v != nil { + var secureOutput bool + err = json.Unmarshal(*v, &secureOutput) + if err != nil { + return err + } + ap.SecureOutput = &secureOutput + } + } + } + + return nil +} + +// ActivityRun information about an activity run in a pipeline. +type ActivityRun struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // PipelineName - READ-ONLY; The name of the pipeline. + PipelineName *string `json:"pipelineName,omitempty"` + // PipelineRunID - READ-ONLY; The id of the pipeline run. + PipelineRunID *string `json:"pipelineRunId,omitempty"` + // ActivityName - READ-ONLY; The name of the activity. + ActivityName *string `json:"activityName,omitempty"` + // ActivityType - READ-ONLY; The type of the activity. + ActivityType *string `json:"activityType,omitempty"` + // ActivityRunID - READ-ONLY; The id of the activity run. + ActivityRunID *string `json:"activityRunId,omitempty"` + // LinkedServiceName - READ-ONLY; The name of the compute linked service. + LinkedServiceName *string `json:"linkedServiceName,omitempty"` + // Status - READ-ONLY; The status of the activity run. + Status *string `json:"status,omitempty"` + // ActivityRunStart - READ-ONLY; The start time of the activity run in 'ISO 8601' format. + ActivityRunStart *date.Time `json:"activityRunStart,omitempty"` + // ActivityRunEnd - READ-ONLY; The end time of the activity run in 'ISO 8601' format. + ActivityRunEnd *date.Time `json:"activityRunEnd,omitempty"` + // DurationInMs - READ-ONLY; The duration of the activity run. + DurationInMs *int32 `json:"durationInMs,omitempty"` + // Input - READ-ONLY; The input for the activity. + Input interface{} `json:"input,omitempty"` + // Output - READ-ONLY; The output for the activity. + Output interface{} `json:"output,omitempty"` + // Error - READ-ONLY; The error if any from the activity run. + Error interface{} `json:"error,omitempty"` +} + +// MarshalJSON is the custom marshaler for ActivityRun. +func (ar ActivityRun) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + for k, v := range ar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ActivityRun struct. +func (ar *ActivityRun) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ar.AdditionalProperties == nil { + ar.AdditionalProperties = make(map[string]interface{}) + } + ar.AdditionalProperties[k] = additionalProperties + } + case "pipelineName": + if v != nil { + var pipelineName string + err = json.Unmarshal(*v, &pipelineName) + if err != nil { + return err + } + ar.PipelineName = &pipelineName + } + case "pipelineRunId": + if v != nil { + var pipelineRunID string + err = json.Unmarshal(*v, &pipelineRunID) + if err != nil { + return err + } + ar.PipelineRunID = &pipelineRunID + } + case "activityName": + if v != nil { + var activityName string + err = json.Unmarshal(*v, &activityName) + if err != nil { + return err + } + ar.ActivityName = &activityName + } + case "activityType": + if v != nil { + var activityType string + err = json.Unmarshal(*v, &activityType) + if err != nil { + return err + } + ar.ActivityType = &activityType + } + case "activityRunId": + if v != nil { + var activityRunID string + err = json.Unmarshal(*v, &activityRunID) + if err != nil { + return err + } + ar.ActivityRunID = &activityRunID + } + case "linkedServiceName": + if v != nil { + var linkedServiceName string + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ar.LinkedServiceName = &linkedServiceName + } + case "status": + if v != nil { + var status string + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + ar.Status = &status + } + case "activityRunStart": + if v != nil { + var activityRunStart date.Time + err = json.Unmarshal(*v, &activityRunStart) + if err != nil { + return err + } + ar.ActivityRunStart = &activityRunStart + } + case "activityRunEnd": + if v != nil { + var activityRunEnd date.Time + err = json.Unmarshal(*v, &activityRunEnd) + if err != nil { + return err + } + ar.ActivityRunEnd = &activityRunEnd + } + case "durationInMs": + if v != nil { + var durationInMs int32 + err = json.Unmarshal(*v, &durationInMs) + if err != nil { + return err + } + ar.DurationInMs = &durationInMs + } + case "input": + if v != nil { + var input interface{} + err = json.Unmarshal(*v, &input) + if err != nil { + return err + } + ar.Input = input + } + case "output": + if v != nil { + var output interface{} + err = json.Unmarshal(*v, &output) + if err != nil { + return err + } + ar.Output = output + } + case "error": + if v != nil { + var errorVar interface{} + err = json.Unmarshal(*v, &errorVar) + if err != nil { + return err + } + ar.Error = errorVar + } + } + } + + return nil +} + +// ActivityRunsQueryResponse a list activity runs. +type ActivityRunsQueryResponse struct { + autorest.Response `json:"-"` + // Value - List of activity runs. + Value *[]ActivityRun `json:"value,omitempty"` + // ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise. + ContinuationToken *string `json:"continuationToken,omitempty"` +} + +// AddDataFlowToDebugSessionResponse response body structure for starting data flow debug session. +type AddDataFlowToDebugSessionResponse struct { + autorest.Response `json:"-"` + // JobVersion - The ID of data flow debug job version. + JobVersion *string `json:"jobVersion,omitempty"` +} + +// AmazonMWSLinkedService amazon Marketplace Web Service linked service. +type AmazonMWSLinkedService struct { + // AmazonMWSLinkedServiceTypeProperties - Amazon Marketplace Web Service linked service properties. + *AmazonMWSLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) MarshalJSON() ([]byte, error) { + amls.Type = TypeAmazonMWS + objectMap := make(map[string]interface{}) + if amls.AmazonMWSLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = amls.AmazonMWSLinkedServiceTypeProperties + } + if amls.ConnectVia != nil { + objectMap["connectVia"] = amls.ConnectVia + } + if amls.Description != nil { + objectMap["description"] = amls.Description + } + if amls.Parameters != nil { + objectMap["parameters"] = amls.Parameters + } + if amls.Annotations != nil { + objectMap["annotations"] = amls.Annotations + } + if amls.Type != "" { + objectMap["type"] = amls.Type + } + for k, v := range amls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return &amls, true +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &amls, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedService struct. +func (amls *AmazonMWSLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var amazonMWSLinkedServiceTypeProperties AmazonMWSLinkedServiceTypeProperties + err = json.Unmarshal(*v, &amazonMWSLinkedServiceTypeProperties) + if err != nil { + return err + } + amls.AmazonMWSLinkedServiceTypeProperties = &amazonMWSLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amls.AdditionalProperties == nil { + amls.AdditionalProperties = make(map[string]interface{}) + } + amls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + amls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amls.Type = typeVar + } + } + } + + return nil +} + +// AmazonMWSLinkedServiceTypeProperties amazon Marketplace Web Service linked service properties. +type AmazonMWSLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com) + Endpoint interface{} `json:"endpoint,omitempty"` + // 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) + MarketplaceID interface{} `json:"marketplaceID,omitempty"` + // SellerID - The Amazon seller ID. + SellerID interface{} `json:"sellerID,omitempty"` + // MwsAuthToken - The Amazon MWS authentication token. + MwsAuthToken BasicSecretBase `json:"mwsAuthToken,omitempty"` + // AccessKeyID - The access key id used to access data. + AccessKeyID interface{} `json:"accessKeyId,omitempty"` + // SecretKey - The secret key used to access data. + SecretKey BasicSecretBase `json:"secretKey,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedServiceTypeProperties struct. +func (amlstp *AmazonMWSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + amlstp.Endpoint = endpoint + } + case "marketplaceID": + if v != nil { + var marketplaceID interface{} + err = json.Unmarshal(*v, &marketplaceID) + if err != nil { + return err + } + amlstp.MarketplaceID = marketplaceID + } + case "sellerID": + if v != nil { + var sellerID interface{} + err = json.Unmarshal(*v, &sellerID) + if err != nil { + return err + } + amlstp.SellerID = sellerID + } + case "mwsAuthToken": + if v != nil { + mwsAuthToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + amlstp.MwsAuthToken = mwsAuthToken + } + case "accessKeyId": + if v != nil { + var accessKeyID interface{} + err = json.Unmarshal(*v, &accessKeyID) + if err != nil { + return err + } + amlstp.AccessKeyID = accessKeyID + } + case "secretKey": + if v != nil { + secretKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + amlstp.SecretKey = secretKey + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + amlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + amlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + amlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + amlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AmazonMWSObjectDataset amazon Marketplace Web Service dataset. +type AmazonMWSObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) MarshalJSON() ([]byte, error) { + amod.Type = TypeAmazonMWSObject + objectMap := make(map[string]interface{}) + if amod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = amod.GenericDatasetTypeProperties + } + if amod.Description != nil { + objectMap["description"] = amod.Description + } + if amod.Structure != nil { + objectMap["structure"] = amod.Structure + } + if amod.Schema != nil { + objectMap["schema"] = amod.Schema + } + if amod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = amod.LinkedServiceName + } + if amod.Parameters != nil { + objectMap["parameters"] = amod.Parameters + } + if amod.Annotations != nil { + objectMap["annotations"] = amod.Annotations + } + if amod.Folder != nil { + objectMap["folder"] = amod.Folder + } + if amod.Type != "" { + objectMap["type"] = amod.Type + } + for k, v := range amod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return &amod, true +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &amod, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonMWSObjectDataset struct. +func (amod *AmazonMWSObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + amod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amod.AdditionalProperties == nil { + amod.AdditionalProperties = make(map[string]interface{}) + } + amod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + amod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + amod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + amod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + amod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amod.Type = typeVar + } + } + } + + return nil +} + +// AmazonMWSSource a copy activity Amazon Marketplace Web Service source. +type AmazonMWSSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonMWSSource. +func (ams AmazonMWSSource) MarshalJSON() ([]byte, error) { + ams.Type = TypeAmazonMWSSource + objectMap := make(map[string]interface{}) + if ams.Query != nil { + objectMap["query"] = ams.Query + } + if ams.QueryTimeout != nil { + objectMap["queryTimeout"] = ams.QueryTimeout + } + if ams.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ams.SourceRetryCount + } + if ams.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ams.SourceRetryWait + } + if ams.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ams.MaxConcurrentConnections + } + if ams.Type != "" { + objectMap["type"] = ams.Type + } + for k, v := range ams.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return &ams, true +} + +// AsCassandraSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ams, true +} + +// AsBinarySource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ams, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonMWSSource struct. +func (ams *AmazonMWSSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ams.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ams.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ams.AdditionalProperties == nil { + ams.AdditionalProperties = make(map[string]interface{}) + } + ams.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ams.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ams.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ams.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ams.Type = typeVar + } + } + } + + return nil +} + +// AmazonRedshiftLinkedService linked service for Amazon Redshift. +type AmazonRedshiftLinkedService struct { + // AmazonRedshiftLinkedServiceTypeProperties - Amazon Redshift linked service properties. + *AmazonRedshiftLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) MarshalJSON() ([]byte, error) { + arls.Type = TypeAmazonRedshift + objectMap := make(map[string]interface{}) + if arls.AmazonRedshiftLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = arls.AmazonRedshiftLinkedServiceTypeProperties + } + if arls.ConnectVia != nil { + objectMap["connectVia"] = arls.ConnectVia + } + if arls.Description != nil { + objectMap["description"] = arls.Description + } + if arls.Parameters != nil { + objectMap["parameters"] = arls.Parameters + } + if arls.Annotations != nil { + objectMap["annotations"] = arls.Annotations + } + if arls.Type != "" { + objectMap["type"] = arls.Type + } + for k, v := range arls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return &arls, true +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &arls, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedService struct. +func (arls *AmazonRedshiftLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var amazonRedshiftLinkedServiceTypeProperties AmazonRedshiftLinkedServiceTypeProperties + err = json.Unmarshal(*v, &amazonRedshiftLinkedServiceTypeProperties) + if err != nil { + return err + } + arls.AmazonRedshiftLinkedServiceTypeProperties = &amazonRedshiftLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if arls.AdditionalProperties == nil { + arls.AdditionalProperties = make(map[string]interface{}) + } + arls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + arls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + arls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + arls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + arls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + arls.Type = typeVar + } + } + } + + return nil +} + +// AmazonRedshiftLinkedServiceTypeProperties amazon Redshift linked service properties. +type AmazonRedshiftLinkedServiceTypeProperties struct { + // Server - The name of the Amazon Redshift server. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // Username - The username of the Amazon Redshift source. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - The password of the Amazon Redshift source. + Password BasicSecretBase `json:"password,omitempty"` + // Database - The database name of the Amazon Redshift source. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` + // 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). + Port interface{} `json:"port,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedServiceTypeProperties struct. +func (arlstp *AmazonRedshiftLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + arlstp.Server = server + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + arlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + arlstp.Password = password + } + case "database": + if v != nil { + var databaseVar interface{} + err = json.Unmarshal(*v, &databaseVar) + if err != nil { + return err + } + arlstp.Database = databaseVar + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + arlstp.Port = port + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + arlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AmazonRedshiftSource a copy activity source for Amazon Redshift Source. +type AmazonRedshiftSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // 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. + RedshiftUnloadSettings *RedshiftUnloadSettings `json:"redshiftUnloadSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) MarshalJSON() ([]byte, error) { + ars.Type = TypeAmazonRedshiftSource + objectMap := make(map[string]interface{}) + if ars.Query != nil { + objectMap["query"] = ars.Query + } + if ars.RedshiftUnloadSettings != nil { + objectMap["redshiftUnloadSettings"] = ars.RedshiftUnloadSettings + } + if ars.QueryTimeout != nil { + objectMap["queryTimeout"] = ars.QueryTimeout + } + if ars.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ars.SourceRetryCount + } + if ars.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ars.SourceRetryWait + } + if ars.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ars.MaxConcurrentConnections + } + if ars.Type != "" { + objectMap["type"] = ars.Type + } + for k, v := range ars.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return &ars, true +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ars, true +} + +// AsBinarySource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ars, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftSource struct. +func (ars *AmazonRedshiftSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ars.Query = query + } + case "redshiftUnloadSettings": + if v != nil { + var redshiftUnloadSettings RedshiftUnloadSettings + err = json.Unmarshal(*v, &redshiftUnloadSettings) + if err != nil { + return err + } + ars.RedshiftUnloadSettings = &redshiftUnloadSettings + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ars.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ars.AdditionalProperties == nil { + ars.AdditionalProperties = make(map[string]interface{}) + } + ars.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ars.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ars.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ars.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ars.Type = typeVar + } + } + } + + return nil +} + +// AmazonRedshiftTableDataset the Amazon Redshift table dataset. +type AmazonRedshiftTableDataset struct { + // AmazonRedshiftTableDatasetTypeProperties - Amazon Redshift table dataset properties. + *AmazonRedshiftTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) MarshalJSON() ([]byte, error) { + artd.Type = TypeAmazonRedshiftTable + objectMap := make(map[string]interface{}) + if artd.AmazonRedshiftTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = artd.AmazonRedshiftTableDatasetTypeProperties + } + if artd.Description != nil { + objectMap["description"] = artd.Description + } + if artd.Structure != nil { + objectMap["structure"] = artd.Structure + } + if artd.Schema != nil { + objectMap["schema"] = artd.Schema + } + if artd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = artd.LinkedServiceName + } + if artd.Parameters != nil { + objectMap["parameters"] = artd.Parameters + } + if artd.Annotations != nil { + objectMap["annotations"] = artd.Annotations + } + if artd.Folder != nil { + objectMap["folder"] = artd.Folder + } + if artd.Type != "" { + objectMap["type"] = artd.Type + } + for k, v := range artd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return &artd, true +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &artd, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftTableDataset struct. +func (artd *AmazonRedshiftTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var amazonRedshiftTableDatasetTypeProperties AmazonRedshiftTableDatasetTypeProperties + err = json.Unmarshal(*v, &amazonRedshiftTableDatasetTypeProperties) + if err != nil { + return err + } + artd.AmazonRedshiftTableDatasetTypeProperties = &amazonRedshiftTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if artd.AdditionalProperties == nil { + artd.AdditionalProperties = make(map[string]interface{}) + } + artd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + artd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + artd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + artd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + artd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + artd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + artd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + artd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + artd.Type = typeVar + } + } + } + + return nil +} + +// AmazonRedshiftTableDatasetTypeProperties amazon Redshift table dataset properties. +type AmazonRedshiftTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The Amazon Redshift table name. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The Amazon Redshift schema name. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// AmazonS3LinkedService linked service for Amazon S3. +type AmazonS3LinkedService struct { + // AmazonS3LinkedServiceTypeProperties - Amazon S3 linked service properties. + *AmazonS3LinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) MarshalJSON() ([]byte, error) { + asls.Type = TypeAmazonS3 + objectMap := make(map[string]interface{}) + if asls.AmazonS3LinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = asls.AmazonS3LinkedServiceTypeProperties + } + if asls.ConnectVia != nil { + objectMap["connectVia"] = asls.ConnectVia + } + if asls.Description != nil { + objectMap["description"] = asls.Description + } + if asls.Parameters != nil { + objectMap["parameters"] = asls.Parameters + } + if asls.Annotations != nil { + objectMap["annotations"] = asls.Annotations + } + if asls.Type != "" { + objectMap["type"] = asls.Type + } + for k, v := range asls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return &asls, true +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &asls, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedService struct. +func (asls *AmazonS3LinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var amazonS3LinkedServiceTypeProperties AmazonS3LinkedServiceTypeProperties + err = json.Unmarshal(*v, &amazonS3LinkedServiceTypeProperties) + if err != nil { + return err + } + asls.AmazonS3LinkedServiceTypeProperties = &amazonS3LinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asls.AdditionalProperties == nil { + asls.AdditionalProperties = make(map[string]interface{}) + } + asls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + asls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asls.Type = typeVar + } + } + } + + return nil +} + +// AmazonS3LinkedServiceTypeProperties amazon S3 linked service properties. +type AmazonS3LinkedServiceTypeProperties struct { + // AccessKeyID - The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string). + AccessKeyID interface{} `json:"accessKeyId,omitempty"` + // SecretAccessKey - The secret access key of the Amazon S3 Identity and Access Management (IAM) user. + SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"` + // 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). + ServiceURL interface{} `json:"serviceUrl,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedServiceTypeProperties struct. +func (aslstp *AmazonS3LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "accessKeyId": + if v != nil { + var accessKeyID interface{} + err = json.Unmarshal(*v, &accessKeyID) + if err != nil { + return err + } + aslstp.AccessKeyID = accessKeyID + } + case "secretAccessKey": + if v != nil { + secretAccessKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + aslstp.SecretAccessKey = secretAccessKey + } + case "serviceUrl": + if v != nil { + var serviceURL interface{} + err = json.Unmarshal(*v, &serviceURL) + if err != nil { + return err + } + aslstp.ServiceURL = serviceURL + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + aslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AmazonS3Location the location of amazon S3 dataset. +type AmazonS3Location struct { + // BucketName - Specify the bucketName of amazon S3. Type: string (or Expression with resultType string) + BucketName interface{} `json:"bucketName,omitempty"` + // Version - Specify the version of amazon S3. Type: string (or Expression with resultType string). + Version interface{} `json:"version,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonS3Location. +func (asl AmazonS3Location) MarshalJSON() ([]byte, error) { + asl.Type = TypeAmazonS3Location + objectMap := make(map[string]interface{}) + if asl.BucketName != nil { + objectMap["bucketName"] = asl.BucketName + } + if asl.Version != nil { + objectMap["version"] = asl.Version + } + if asl.FolderPath != nil { + objectMap["folderPath"] = asl.FolderPath + } + if asl.FileName != nil { + objectMap["fileName"] = asl.FileName + } + if asl.Type != "" { + objectMap["type"] = asl.Type + } + for k, v := range asl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsAmazonS3Location() (*AmazonS3Location, bool) { + return &asl, true +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for AmazonS3Location. +func (asl AmazonS3Location) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &asl, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonS3Location struct. +func (asl *AmazonS3Location) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "bucketName": + if v != nil { + var bucketName interface{} + err = json.Unmarshal(*v, &bucketName) + if err != nil { + return err + } + asl.BucketName = bucketName + } + case "version": + if v != nil { + var version interface{} + err = json.Unmarshal(*v, &version) + if err != nil { + return err + } + asl.Version = version + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asl.AdditionalProperties == nil { + asl.AdditionalProperties = make(map[string]interface{}) + } + asl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + asl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + asl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asl.Type = typeVar + } + } + } + + return nil +} + +// AmazonS3ReadSettings azure data lake store read settings. +type AmazonS3ReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - AmazonS3 wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - AmazonS3 wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // Prefix - The prefix filter for the S3 object name. Type: string (or Expression with resultType string). + Prefix interface{} `json:"prefix,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) MarshalJSON() ([]byte, error) { + asrs.Type = TypeAmazonS3ReadSettings + objectMap := make(map[string]interface{}) + if asrs.Recursive != nil { + objectMap["recursive"] = asrs.Recursive + } + if asrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = asrs.WildcardFolderPath + } + if asrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = asrs.WildcardFileName + } + if asrs.Prefix != nil { + objectMap["prefix"] = asrs.Prefix + } + if asrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = asrs.EnablePartitionDiscovery + } + if asrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = asrs.ModifiedDatetimeStart + } + if asrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = asrs.ModifiedDatetimeEnd + } + if asrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = asrs.MaxConcurrentConnections + } + if asrs.Type != "" { + objectMap["type"] = asrs.Type + } + for k, v := range asrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return &asrs, true +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings. +func (asrs AmazonS3ReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &asrs, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonS3ReadSettings struct. +func (asrs *AmazonS3ReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + asrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + asrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + asrs.WildcardFileName = wildcardFileName + } + case "prefix": + if v != nil { + var prefix interface{} + err = json.Unmarshal(*v, &prefix) + if err != nil { + return err + } + asrs.Prefix = prefix + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + asrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + asrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + asrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asrs.AdditionalProperties == nil { + asrs.AdditionalProperties = make(map[string]interface{}) + } + asrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + asrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asrs.Type = typeVar + } + } + } + + return nil +} + +// AppendVariableActivity append value for a Variable of type Array. +type AppendVariableActivity struct { + // AppendVariableActivityTypeProperties - Append Variable activity properties. + *AppendVariableActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AppendVariableActivity. +func (ava AppendVariableActivity) MarshalJSON() ([]byte, error) { + ava.Type = TypeAppendVariable + objectMap := make(map[string]interface{}) + if ava.AppendVariableActivityTypeProperties != nil { + objectMap["typeProperties"] = ava.AppendVariableActivityTypeProperties + } + if ava.Name != nil { + objectMap["name"] = ava.Name + } + if ava.Description != nil { + objectMap["description"] = ava.Description + } + if ava.DependsOn != nil { + objectMap["dependsOn"] = ava.DependsOn + } + if ava.UserProperties != nil { + objectMap["userProperties"] = ava.UserProperties + } + if ava.Type != "" { + objectMap["type"] = ava.Type + } + for k, v := range ava.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return &ava, true +} + +// AsSetVariableActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &ava, true +} + +// AsActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsBasicActivity() (BasicActivity, bool) { + return &ava, true +} + +// UnmarshalJSON is the custom unmarshaler for AppendVariableActivity struct. +func (ava *AppendVariableActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var appendVariableActivityTypeProperties AppendVariableActivityTypeProperties + err = json.Unmarshal(*v, &appendVariableActivityTypeProperties) + if err != nil { + return err + } + ava.AppendVariableActivityTypeProperties = &appendVariableActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ava.AdditionalProperties == nil { + ava.AdditionalProperties = make(map[string]interface{}) + } + ava.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ava.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ava.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ava.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ava.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ava.Type = typeVar + } + } + } + + return nil +} + +// AppendVariableActivityTypeProperties appendVariable activity properties. +type AppendVariableActivityTypeProperties struct { + // VariableName - Name of the variable whose value needs to be appended to. + VariableName *string `json:"variableName,omitempty"` + // Value - Value to be appended. Could be a static value or Expression + Value interface{} `json:"value,omitempty"` +} + +// AvroDataset avro dataset. +type AvroDataset struct { + // AvroDatasetTypeProperties - Avro dataset properties. + *AvroDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AvroDataset. +func (ad AvroDataset) MarshalJSON() ([]byte, error) { + ad.Type = TypeAvro + objectMap := make(map[string]interface{}) + if ad.AvroDatasetTypeProperties != nil { + objectMap["typeProperties"] = ad.AvroDatasetTypeProperties + } + if ad.Description != nil { + objectMap["description"] = ad.Description + } + if ad.Structure != nil { + objectMap["structure"] = ad.Structure + } + if ad.Schema != nil { + objectMap["schema"] = ad.Schema + } + if ad.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ad.LinkedServiceName + } + if ad.Parameters != nil { + objectMap["parameters"] = ad.Parameters + } + if ad.Annotations != nil { + objectMap["annotations"] = ad.Annotations + } + if ad.Folder != nil { + objectMap["folder"] = ad.Folder + } + if ad.Type != "" { + objectMap["type"] = ad.Type + } + for k, v := range ad.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAvroDataset() (*AvroDataset, bool) { + return &ad, true +} + +// AsDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsBasicDataset() (BasicDataset, bool) { + return &ad, true +} + +// UnmarshalJSON is the custom unmarshaler for AvroDataset struct. +func (ad *AvroDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var avroDatasetTypeProperties AvroDatasetTypeProperties + err = json.Unmarshal(*v, &avroDatasetTypeProperties) + if err != nil { + return err + } + ad.AvroDatasetTypeProperties = &avroDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ad.AdditionalProperties == nil { + ad.AdditionalProperties = make(map[string]interface{}) + } + ad.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ad.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + ad.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ad.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ad.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ad.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ad.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ad.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ad.Type = typeVar + } + } + } + + return nil +} + +// AvroDatasetTypeProperties avro dataset properties. +type AvroDatasetTypeProperties struct { + // Location - The location of the avro storage. + Location BasicDatasetLocation `json:"location,omitempty"` + // AvroCompressionCodec - Possible values include: 'None', 'Deflate', 'Snappy', 'Xz', 'Bzip2' + AvroCompressionCodec AvroCompressionCodec `json:"avroCompressionCodec,omitempty"` + AvroCompressionLevel *int32 `json:"avroCompressionLevel,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AvroDatasetTypeProperties struct. +func (adtp *AvroDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + location, err := unmarshalBasicDatasetLocation(*v) + if err != nil { + return err + } + adtp.Location = location + } + case "avroCompressionCodec": + if v != nil { + var avroCompressionCodec AvroCompressionCodec + err = json.Unmarshal(*v, &avroCompressionCodec) + if err != nil { + return err + } + adtp.AvroCompressionCodec = avroCompressionCodec + } + case "avroCompressionLevel": + if v != nil { + var avroCompressionLevel int32 + err = json.Unmarshal(*v, &avroCompressionLevel) + if err != nil { + return err + } + adtp.AvroCompressionLevel = &avroCompressionLevel + } + } + } + + return nil +} + +// AvroSink a copy activity Avro sink. +type AvroSink struct { + // StoreSettings - Avro store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // FormatSettings - Avro format settings. + FormatSettings *AvroWriteSettings `json:"formatSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AvroSink. +func (as AvroSink) MarshalJSON() ([]byte, error) { + as.Type = TypeAvroSink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = as.StoreSettings + if as.FormatSettings != nil { + objectMap["formatSettings"] = as.FormatSettings + } + if as.WriteBatchSize != nil { + objectMap["writeBatchSize"] = as.WriteBatchSize + } + if as.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = as.WriteBatchTimeout + } + if as.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = as.SinkRetryCount + } + if as.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = as.SinkRetryWait + } + if as.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = as.MaxConcurrentConnections + } + if as.Type != "" { + objectMap["type"] = as.Type + } + for k, v := range as.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAvroSink() (*AvroSink, bool) { + return &as, true +} + +// AsAzureTableSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsBasicCopySink() (BasicCopySink, bool) { + return &as, true +} + +// UnmarshalJSON is the custom unmarshaler for AvroSink struct. +func (as *AvroSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + as.StoreSettings = storeSettings + } + case "formatSettings": + if v != nil { + var formatSettings AvroWriteSettings + err = json.Unmarshal(*v, &formatSettings) + if err != nil { + return err + } + as.FormatSettings = &formatSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if as.AdditionalProperties == nil { + as.AdditionalProperties = make(map[string]interface{}) + } + as.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + as.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + as.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + as.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + as.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + as.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + as.Type = typeVar + } + } + } + + return nil +} + +// AvroSource a copy activity Avro source. +type AvroSource struct { + // StoreSettings - Avro store settings. + StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AvroSource. +func (as AvroSource) MarshalJSON() ([]byte, error) { + as.Type = TypeAvroSource + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = as.StoreSettings + if as.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = as.SourceRetryCount + } + if as.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = as.SourceRetryWait + } + if as.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = as.MaxConcurrentConnections + } + if as.Type != "" { + objectMap["type"] = as.Type + } + for k, v := range as.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAvroSource() (*AvroSource, bool) { + return &as, true +} + +// AsCopySource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsBasicCopySource() (BasicCopySource, bool) { + return &as, true +} + +// UnmarshalJSON is the custom unmarshaler for AvroSource struct. +func (as *AvroSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreReadSettings(*v) + if err != nil { + return err + } + as.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if as.AdditionalProperties == nil { + as.AdditionalProperties = make(map[string]interface{}) + } + as.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + as.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + as.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + as.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + as.Type = typeVar + } + } + } + + return nil +} + +// AvroWriteSettings avro write settings. +type AvroWriteSettings struct { + // RecordName - Top level record name in write result, which is required in AVRO spec. + RecordName *string `json:"recordName,omitempty"` + // RecordNamespace - Record namespace in the write result. + RecordNamespace *string `json:"recordNamespace,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings' + Type TypeBasicFormatWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AvroWriteSettings. +func (aws AvroWriteSettings) MarshalJSON() ([]byte, error) { + aws.Type = TypeAvroWriteSettings + objectMap := make(map[string]interface{}) + if aws.RecordName != nil { + objectMap["recordName"] = aws.RecordName + } + if aws.RecordNamespace != nil { + objectMap["recordNamespace"] = aws.RecordNamespace + } + if aws.Type != "" { + objectMap["type"] = aws.Type + } + for k, v := range aws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsJSONWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings. +func (aws AvroWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) { + return nil, false +} + +// AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings. +func (aws AvroWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) { + return nil, false +} + +// AsAvroWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings. +func (aws AvroWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) { + return &aws, true +} + +// AsFormatWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings. +func (aws AvroWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) { + return nil, false +} + +// AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings. +func (aws AvroWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) { + return &aws, true +} + +// UnmarshalJSON is the custom unmarshaler for AvroWriteSettings struct. +func (aws *AvroWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recordName": + if v != nil { + var recordName string + err = json.Unmarshal(*v, &recordName) + if err != nil { + return err + } + aws.RecordName = &recordName + } + case "recordNamespace": + if v != nil { + var recordNamespace string + err = json.Unmarshal(*v, &recordNamespace) + if err != nil { + return err + } + aws.RecordNamespace = &recordNamespace + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if aws.AdditionalProperties == nil { + aws.AdditionalProperties = make(map[string]interface{}) + } + aws.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicFormatWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + aws.Type = typeVar + } + } + } + + return nil +} + +// AzureBatchLinkedService azure Batch linked service. +type AzureBatchLinkedService struct { + // AzureBatchLinkedServiceTypeProperties - Azure Batch linked service properties. + *AzureBatchLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) MarshalJSON() ([]byte, error) { + abls.Type = TypeAzureBatch + objectMap := make(map[string]interface{}) + if abls.AzureBatchLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = abls.AzureBatchLinkedServiceTypeProperties + } + if abls.ConnectVia != nil { + objectMap["connectVia"] = abls.ConnectVia + } + if abls.Description != nil { + objectMap["description"] = abls.Description + } + if abls.Parameters != nil { + objectMap["parameters"] = abls.Parameters + } + if abls.Annotations != nil { + objectMap["annotations"] = abls.Annotations + } + if abls.Type != "" { + objectMap["type"] = abls.Type + } + for k, v := range abls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return &abls, true +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &abls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedService struct. +func (abls *AzureBatchLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureBatchLinkedServiceTypeProperties AzureBatchLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureBatchLinkedServiceTypeProperties) + if err != nil { + return err + } + abls.AzureBatchLinkedServiceTypeProperties = &azureBatchLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if abls.AdditionalProperties == nil { + abls.AdditionalProperties = make(map[string]interface{}) + } + abls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + abls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + abls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + abls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + abls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abls.Type = typeVar + } + } + } + + return nil +} + +// AzureBatchLinkedServiceTypeProperties azure Batch linked service properties. +type AzureBatchLinkedServiceTypeProperties struct { + // AccountName - The Azure Batch account name. Type: string (or Expression with resultType string). + AccountName interface{} `json:"accountName,omitempty"` + // AccessKey - The Azure Batch account access key. + AccessKey BasicSecretBase `json:"accessKey,omitempty"` + // BatchURI - The Azure Batch URI. Type: string (or Expression with resultType string). + BatchURI interface{} `json:"batchUri,omitempty"` + // PoolName - The Azure Batch pool name. Type: string (or Expression with resultType string). + PoolName interface{} `json:"poolName,omitempty"` + // LinkedServiceName - The Azure Storage linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedServiceTypeProperties struct. +func (ablstp *AzureBatchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "accountName": + if v != nil { + var accountName interface{} + err = json.Unmarshal(*v, &accountName) + if err != nil { + return err + } + ablstp.AccountName = accountName + } + case "accessKey": + if v != nil { + accessKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ablstp.AccessKey = accessKey + } + case "batchUri": + if v != nil { + var batchURI interface{} + err = json.Unmarshal(*v, &batchURI) + if err != nil { + return err + } + ablstp.BatchURI = batchURI + } + case "poolName": + if v != nil { + var poolName interface{} + err = json.Unmarshal(*v, &poolName) + if err != nil { + return err + } + ablstp.PoolName = poolName + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ablstp.LinkedServiceName = &linkedServiceName + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + ablstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureBlobFSLinkedService azure Data Lake Storage Gen2 linked service. +type AzureBlobFSLinkedService struct { + // AzureBlobFSLinkedServiceTypeProperties - Azure Data Lake Storage Gen2 linked service properties. + *AzureBlobFSLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) MarshalJSON() ([]byte, error) { + abfls.Type = TypeAzureBlobFS + objectMap := make(map[string]interface{}) + if abfls.AzureBlobFSLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = abfls.AzureBlobFSLinkedServiceTypeProperties + } + if abfls.ConnectVia != nil { + objectMap["connectVia"] = abfls.ConnectVia + } + if abfls.Description != nil { + objectMap["description"] = abfls.Description + } + if abfls.Parameters != nil { + objectMap["parameters"] = abfls.Parameters + } + if abfls.Annotations != nil { + objectMap["annotations"] = abfls.Annotations + } + if abfls.Type != "" { + objectMap["type"] = abfls.Type + } + for k, v := range abfls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return &abfls, true +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &abfls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobFSLinkedService struct. +func (abfls *AzureBlobFSLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureBlobFSLinkedServiceTypeProperties AzureBlobFSLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureBlobFSLinkedServiceTypeProperties) + if err != nil { + return err + } + abfls.AzureBlobFSLinkedServiceTypeProperties = &azureBlobFSLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if abfls.AdditionalProperties == nil { + abfls.AdditionalProperties = make(map[string]interface{}) + } + abfls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + abfls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + abfls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + abfls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + abfls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abfls.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobFSLinkedServiceTypeProperties azure Data Lake Storage Gen2 linked service properties. +type AzureBlobFSLinkedServiceTypeProperties struct { + // URL - Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AccountKey - Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string). + AccountKey interface{} `json:"accountKey,omitempty"` + // ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobFSLinkedServiceTypeProperties struct. +func (abflstp *AzureBlobFSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + abflstp.URL = URL + } + case "accountKey": + if v != nil { + var accountKey interface{} + err = json.Unmarshal(*v, &accountKey) + if err != nil { + return err + } + abflstp.AccountKey = accountKey + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + abflstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + abflstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + abflstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + abflstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureBlobFSLocation the location of azure blobFS dataset. +type AzureBlobFSLocation struct { + // FileSystem - Specify the fileSystem of azure blobFS. Type: string (or Expression with resultType string). + FileSystem interface{} `json:"fileSystem,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) MarshalJSON() ([]byte, error) { + abfl.Type = TypeAzureBlobFSLocation + objectMap := make(map[string]interface{}) + if abfl.FileSystem != nil { + objectMap["fileSystem"] = abfl.FileSystem + } + if abfl.FolderPath != nil { + objectMap["folderPath"] = abfl.FolderPath + } + if abfl.FileName != nil { + objectMap["fileName"] = abfl.FileName + } + if abfl.Type != "" { + objectMap["type"] = abfl.Type + } + for k, v := range abfl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return &abfl, true +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation. +func (abfl AzureBlobFSLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &abfl, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobFSLocation struct. +func (abfl *AzureBlobFSLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "fileSystem": + if v != nil { + var fileSystem interface{} + err = json.Unmarshal(*v, &fileSystem) + if err != nil { + return err + } + abfl.FileSystem = fileSystem + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if abfl.AdditionalProperties == nil { + abfl.AdditionalProperties = make(map[string]interface{}) + } + abfl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + abfl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + abfl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abfl.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobFSReadSettings azure blobFS read settings. +type AzureBlobFSReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Azure blobFS wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Azure blobFS wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) MarshalJSON() ([]byte, error) { + abfrs.Type = TypeAzureBlobFSReadSettings + objectMap := make(map[string]interface{}) + if abfrs.Recursive != nil { + objectMap["recursive"] = abfrs.Recursive + } + if abfrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = abfrs.WildcardFolderPath + } + if abfrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = abfrs.WildcardFileName + } + if abfrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = abfrs.EnablePartitionDiscovery + } + if abfrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = abfrs.ModifiedDatetimeStart + } + if abfrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = abfrs.ModifiedDatetimeEnd + } + if abfrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = abfrs.MaxConcurrentConnections + } + if abfrs.Type != "" { + objectMap["type"] = abfrs.Type + } + for k, v := range abfrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return &abfrs, true +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings. +func (abfrs AzureBlobFSReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &abfrs, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobFSReadSettings struct. +func (abfrs *AzureBlobFSReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + abfrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + abfrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + abfrs.WildcardFileName = wildcardFileName + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + abfrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + abfrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + abfrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if abfrs.AdditionalProperties == nil { + abfrs.AdditionalProperties = make(map[string]interface{}) + } + abfrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + abfrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abfrs.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobFSSink a copy activity Azure Data Lake Storage Gen2 sink. +type AzureBlobFSSink struct { + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobFSSink. +func (abfs AzureBlobFSSink) MarshalJSON() ([]byte, error) { + abfs.Type = TypeAzureBlobFSSink + objectMap := make(map[string]interface{}) + if abfs.CopyBehavior != nil { + objectMap["copyBehavior"] = abfs.CopyBehavior + } + if abfs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = abfs.WriteBatchSize + } + if abfs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = abfs.WriteBatchTimeout + } + if abfs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = abfs.SinkRetryCount + } + if abfs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = abfs.SinkRetryWait + } + if abfs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = abfs.MaxConcurrentConnections + } + if abfs.Type != "" { + objectMap["type"] = abfs.Type + } + for k, v := range abfs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return &abfs, true +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsBasicCopySink() (BasicCopySink, bool) { + return &abfs, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobFSSink struct. +func (abfs *AzureBlobFSSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + abfs.CopyBehavior = copyBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if abfs.AdditionalProperties == nil { + abfs.AdditionalProperties = make(map[string]interface{}) + } + abfs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + abfs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + abfs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + abfs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + abfs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + abfs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abfs.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobFSSource a copy activity Azure BlobFS source. +type AzureBlobFSSource struct { + // TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean). + TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"` + // SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer). + SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"` + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobFSSource. +func (abfs AzureBlobFSSource) MarshalJSON() ([]byte, error) { + abfs.Type = TypeAzureBlobFSSource + objectMap := make(map[string]interface{}) + if abfs.TreatEmptyAsNull != nil { + objectMap["treatEmptyAsNull"] = abfs.TreatEmptyAsNull + } + if abfs.SkipHeaderLineCount != nil { + objectMap["skipHeaderLineCount"] = abfs.SkipHeaderLineCount + } + if abfs.Recursive != nil { + objectMap["recursive"] = abfs.Recursive + } + if abfs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = abfs.SourceRetryCount + } + if abfs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = abfs.SourceRetryWait + } + if abfs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = abfs.MaxConcurrentConnections + } + if abfs.Type != "" { + objectMap["type"] = abfs.Type + } + for k, v := range abfs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return &abfs, true +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsBasicCopySource() (BasicCopySource, bool) { + return &abfs, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobFSSource struct. +func (abfs *AzureBlobFSSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "treatEmptyAsNull": + if v != nil { + var treatEmptyAsNull interface{} + err = json.Unmarshal(*v, &treatEmptyAsNull) + if err != nil { + return err + } + abfs.TreatEmptyAsNull = treatEmptyAsNull + } + case "skipHeaderLineCount": + if v != nil { + var skipHeaderLineCount interface{} + err = json.Unmarshal(*v, &skipHeaderLineCount) + if err != nil { + return err + } + abfs.SkipHeaderLineCount = skipHeaderLineCount + } + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + abfs.Recursive = recursive + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if abfs.AdditionalProperties == nil { + abfs.AdditionalProperties = make(map[string]interface{}) + } + abfs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + abfs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + abfs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + abfs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abfs.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobFSWriteSettings azure blobFS write settings. +type AzureBlobFSWriteSettings struct { + // BlockSizeInMB - Indicates the block size(MB) when writing data to blob. Type: integer (or Expression with resultType integer). + BlockSizeInMB interface{} `json:"blockSizeInMB,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) MarshalJSON() ([]byte, error) { + abfws.Type = TypeAzureBlobFSWriteSettings + objectMap := make(map[string]interface{}) + if abfws.BlockSizeInMB != nil { + objectMap["blockSizeInMB"] = abfws.BlockSizeInMB + } + if abfws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = abfws.MaxConcurrentConnections + } + if abfws.CopyBehavior != nil { + objectMap["copyBehavior"] = abfws.CopyBehavior + } + if abfws.Type != "" { + objectMap["type"] = abfws.Type + } + for k, v := range abfws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return &abfws, true +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsSftpWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &abfws, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobFSWriteSettings struct. +func (abfws *AzureBlobFSWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "blockSizeInMB": + if v != nil { + var blockSizeInMB interface{} + err = json.Unmarshal(*v, &blockSizeInMB) + if err != nil { + return err + } + abfws.BlockSizeInMB = blockSizeInMB + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if abfws.AdditionalProperties == nil { + abfws.AdditionalProperties = make(map[string]interface{}) + } + abfws.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + abfws.MaxConcurrentConnections = maxConcurrentConnections + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + abfws.CopyBehavior = copyBehavior + } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abfws.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobStorageLinkedService the azure blob storage linked service. +type AzureBlobStorageLinkedService struct { + // AzureBlobStorageLinkedServiceTypeProperties - Azure Blob Storage linked service properties. + *AzureBlobStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) MarshalJSON() ([]byte, error) { + absls.Type = TypeAzureBlobStorage + objectMap := make(map[string]interface{}) + if absls.AzureBlobStorageLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = absls.AzureBlobStorageLinkedServiceTypeProperties + } + if absls.ConnectVia != nil { + objectMap["connectVia"] = absls.ConnectVia + } + if absls.Description != nil { + objectMap["description"] = absls.Description + } + if absls.Parameters != nil { + objectMap["parameters"] = absls.Parameters + } + if absls.Annotations != nil { + objectMap["annotations"] = absls.Annotations + } + if absls.Type != "" { + objectMap["type"] = absls.Type + } + for k, v := range absls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return &absls, true +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &absls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLinkedService struct. +func (absls *AzureBlobStorageLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureBlobStorageLinkedServiceTypeProperties AzureBlobStorageLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureBlobStorageLinkedServiceTypeProperties) + if err != nil { + return err + } + absls.AzureBlobStorageLinkedServiceTypeProperties = &azureBlobStorageLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if absls.AdditionalProperties == nil { + absls.AdditionalProperties = make(map[string]interface{}) + } + absls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + absls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + absls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + absls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + absls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + absls.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobStorageLinkedServiceTypeProperties azure Blob Storage linked service properties. +type AzureBlobStorageLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. It is mutually exclusive with sasUri, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // AccountKey - The Azure key vault secret reference of accountKey in connection string. + AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"` + // SasURI - SAS URI of the Azure Blob Storage resource. It is mutually exclusive with connectionString, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference. + SasURI interface{} `json:"sasUri,omitempty"` + // SasToken - The Azure key vault secret reference of sasToken in sas uri. + SasToken *AzureKeyVaultSecretReference `json:"sasToken,omitempty"` + // ServiceEndpoint - Blob service endpoint of the Azure Blob Storage resource. It is mutually exclusive with connectionString, sasUri property. + ServiceEndpoint *string `json:"serviceEndpoint,omitempty"` + // ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential *string `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLinkedServiceTypeProperties struct. +func (abslstp *AzureBlobStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + abslstp.ConnectionString = connectionString + } + case "accountKey": + if v != nil { + var accountKey AzureKeyVaultSecretReference + err = json.Unmarshal(*v, &accountKey) + if err != nil { + return err + } + abslstp.AccountKey = &accountKey + } + case "sasUri": + if v != nil { + var sasURI interface{} + err = json.Unmarshal(*v, &sasURI) + if err != nil { + return err + } + abslstp.SasURI = sasURI + } + case "sasToken": + if v != nil { + var sasToken AzureKeyVaultSecretReference + err = json.Unmarshal(*v, &sasToken) + if err != nil { + return err + } + abslstp.SasToken = &sasToken + } + case "serviceEndpoint": + if v != nil { + var serviceEndpoint string + err = json.Unmarshal(*v, &serviceEndpoint) + if err != nil { + return err + } + abslstp.ServiceEndpoint = &serviceEndpoint + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + abslstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + abslstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + abslstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential string + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + abslstp.EncryptedCredential = &encryptedCredential + } + } + } + + return nil +} + +// AzureBlobStorageLocation the location of azure blob dataset. +type AzureBlobStorageLocation struct { + // Container - Specify the container of azure blob. Type: string (or Expression with resultType string). + Container interface{} `json:"container,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) MarshalJSON() ([]byte, error) { + absl.Type = TypeAzureBlobStorageLocation + objectMap := make(map[string]interface{}) + if absl.Container != nil { + objectMap["container"] = absl.Container + } + if absl.FolderPath != nil { + objectMap["folderPath"] = absl.FolderPath + } + if absl.FileName != nil { + objectMap["fileName"] = absl.FileName + } + if absl.Type != "" { + objectMap["type"] = absl.Type + } + for k, v := range absl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return &absl, true +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation. +func (absl AzureBlobStorageLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &absl, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLocation struct. +func (absl *AzureBlobStorageLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "container": + if v != nil { + var containerVar interface{} + err = json.Unmarshal(*v, &containerVar) + if err != nil { + return err + } + absl.Container = containerVar + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if absl.AdditionalProperties == nil { + absl.AdditionalProperties = make(map[string]interface{}) + } + absl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + absl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + absl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + absl.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobStorageReadSettings azure blob read settings. +type AzureBlobStorageReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Azure blob wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Azure blob wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // Prefix - The prefix filter for the Azure Blob name. Type: string (or Expression with resultType string). + Prefix interface{} `json:"prefix,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) MarshalJSON() ([]byte, error) { + absrs.Type = TypeAzureBlobStorageReadSettings + objectMap := make(map[string]interface{}) + if absrs.Recursive != nil { + objectMap["recursive"] = absrs.Recursive + } + if absrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = absrs.WildcardFolderPath + } + if absrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = absrs.WildcardFileName + } + if absrs.Prefix != nil { + objectMap["prefix"] = absrs.Prefix + } + if absrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = absrs.EnablePartitionDiscovery + } + if absrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = absrs.ModifiedDatetimeStart + } + if absrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = absrs.ModifiedDatetimeEnd + } + if absrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = absrs.MaxConcurrentConnections + } + if absrs.Type != "" { + objectMap["type"] = absrs.Type + } + for k, v := range absrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return &absrs, true +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings. +func (absrs AzureBlobStorageReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &absrs, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageReadSettings struct. +func (absrs *AzureBlobStorageReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + absrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + absrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + absrs.WildcardFileName = wildcardFileName + } + case "prefix": + if v != nil { + var prefix interface{} + err = json.Unmarshal(*v, &prefix) + if err != nil { + return err + } + absrs.Prefix = prefix + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + absrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + absrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + absrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if absrs.AdditionalProperties == nil { + absrs.AdditionalProperties = make(map[string]interface{}) + } + absrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + absrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + absrs.Type = typeVar + } + } + } + + return nil +} + +// AzureBlobStorageWriteSettings azure blob write settings. +type AzureBlobStorageWriteSettings struct { + // BlockSizeInMB - Indicates the block size(MB) when writing data to blob. Type: integer (or Expression with resultType integer). + BlockSizeInMB interface{} `json:"blockSizeInMB,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) MarshalJSON() ([]byte, error) { + absws.Type = TypeAzureBlobStorageWriteSettings + objectMap := make(map[string]interface{}) + if absws.BlockSizeInMB != nil { + objectMap["blockSizeInMB"] = absws.BlockSizeInMB + } + if absws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = absws.MaxConcurrentConnections + } + if absws.CopyBehavior != nil { + objectMap["copyBehavior"] = absws.CopyBehavior + } + if absws.Type != "" { + objectMap["type"] = absws.Type + } + for k, v := range absws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return &absws, true +} + +// AsSftpWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &absws, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageWriteSettings struct. +func (absws *AzureBlobStorageWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "blockSizeInMB": + if v != nil { + var blockSizeInMB interface{} + err = json.Unmarshal(*v, &blockSizeInMB) + if err != nil { + return err + } + absws.BlockSizeInMB = blockSizeInMB + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if absws.AdditionalProperties == nil { + absws.AdditionalProperties = make(map[string]interface{}) + } + absws.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + absws.MaxConcurrentConnections = maxConcurrentConnections + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + absws.CopyBehavior = copyBehavior + } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + absws.Type = typeVar + } + } + } + + return nil +} + +// AzureDatabricksLinkedService azure Databricks linked service. +type AzureDatabricksLinkedService struct { + // AzureDatabricksLinkedServiceTypeProperties - Azure Databricks linked service properties. + *AzureDatabricksLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) MarshalJSON() ([]byte, error) { + adls.Type = TypeAzureDatabricks + objectMap := make(map[string]interface{}) + if adls.AzureDatabricksLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = adls.AzureDatabricksLinkedServiceTypeProperties + } + if adls.ConnectVia != nil { + objectMap["connectVia"] = adls.ConnectVia + } + if adls.Description != nil { + objectMap["description"] = adls.Description + } + if adls.Parameters != nil { + objectMap["parameters"] = adls.Parameters + } + if adls.Annotations != nil { + objectMap["annotations"] = adls.Annotations + } + if adls.Type != "" { + objectMap["type"] = adls.Type + } + for k, v := range adls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return &adls, true +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &adls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedService struct. +func (adls *AzureDatabricksLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureDatabricksLinkedServiceTypeProperties AzureDatabricksLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureDatabricksLinkedServiceTypeProperties) + if err != nil { + return err + } + adls.AzureDatabricksLinkedServiceTypeProperties = &azureDatabricksLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adls.AdditionalProperties == nil { + adls.AdditionalProperties = make(map[string]interface{}) + } + adls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + adls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + adls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + adls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + adls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adls.Type = typeVar + } + } + } + + return nil +} + +// AzureDatabricksLinkedServiceTypeProperties azure Databricks linked service properties. +type AzureDatabricksLinkedServiceTypeProperties struct { + // Domain - .azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string). + Domain interface{} `json:"domain,omitempty"` + // AccessToken - Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string). + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // 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). + ExistingClusterID interface{} `json:"existingClusterId,omitempty"` + // 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). + InstancePoolID interface{} `json:"instancePoolId,omitempty"` + // 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). + NewClusterVersion interface{} `json:"newClusterVersion,omitempty"` + // 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). + NewClusterNumOfWorker interface{} `json:"newClusterNumOfWorker,omitempty"` + // 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). + NewClusterNodeType interface{} `json:"newClusterNodeType,omitempty"` + // NewClusterSparkConf - A set of optional, user-specified Spark configuration key-value pairs. + NewClusterSparkConf map[string]interface{} `json:"newClusterSparkConf"` + // NewClusterSparkEnvVars - A set of optional, user-specified Spark environment variables key-value pairs. + NewClusterSparkEnvVars map[string]interface{} `json:"newClusterSparkEnvVars"` + // NewClusterCustomTags - Additional tags for cluster resources. This property is ignored in instance pool configurations. + NewClusterCustomTags map[string]interface{} `json:"newClusterCustomTags"` + // 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). + NewClusterDriverNodeType interface{} `json:"newClusterDriverNodeType,omitempty"` + // NewClusterInitScripts - User-defined initialization scripts for the new cluster. Type: array of strings (or Expression with resultType array of strings). + NewClusterInitScripts interface{} `json:"newClusterInitScripts,omitempty"` + // 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). + NewClusterEnableElasticDisk interface{} `json:"newClusterEnableElasticDisk,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDatabricksLinkedServiceTypeProperties. +func (adlstp AzureDatabricksLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if adlstp.Domain != nil { + objectMap["domain"] = adlstp.Domain + } + objectMap["accessToken"] = adlstp.AccessToken + if adlstp.ExistingClusterID != nil { + objectMap["existingClusterId"] = adlstp.ExistingClusterID + } + if adlstp.InstancePoolID != nil { + objectMap["instancePoolId"] = adlstp.InstancePoolID + } + if adlstp.NewClusterVersion != nil { + objectMap["newClusterVersion"] = adlstp.NewClusterVersion + } + if adlstp.NewClusterNumOfWorker != nil { + objectMap["newClusterNumOfWorker"] = adlstp.NewClusterNumOfWorker + } + if adlstp.NewClusterNodeType != nil { + objectMap["newClusterNodeType"] = adlstp.NewClusterNodeType + } + if adlstp.NewClusterSparkConf != nil { + objectMap["newClusterSparkConf"] = adlstp.NewClusterSparkConf + } + if adlstp.NewClusterSparkEnvVars != nil { + objectMap["newClusterSparkEnvVars"] = adlstp.NewClusterSparkEnvVars + } + if adlstp.NewClusterCustomTags != nil { + objectMap["newClusterCustomTags"] = adlstp.NewClusterCustomTags + } + if adlstp.NewClusterDriverNodeType != nil { + objectMap["newClusterDriverNodeType"] = adlstp.NewClusterDriverNodeType + } + if adlstp.NewClusterInitScripts != nil { + objectMap["newClusterInitScripts"] = adlstp.NewClusterInitScripts + } + if adlstp.NewClusterEnableElasticDisk != nil { + objectMap["newClusterEnableElasticDisk"] = adlstp.NewClusterEnableElasticDisk + } + if adlstp.EncryptedCredential != nil { + objectMap["encryptedCredential"] = adlstp.EncryptedCredential + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedServiceTypeProperties struct. +func (adlstp *AzureDatabricksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "domain": + if v != nil { + var domain interface{} + err = json.Unmarshal(*v, &domain) + if err != nil { + return err + } + adlstp.Domain = domain + } + case "accessToken": + if v != nil { + accessToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + adlstp.AccessToken = accessToken + } + case "existingClusterId": + if v != nil { + var existingClusterID interface{} + err = json.Unmarshal(*v, &existingClusterID) + if err != nil { + return err + } + adlstp.ExistingClusterID = existingClusterID + } + case "instancePoolId": + if v != nil { + var instancePoolID interface{} + err = json.Unmarshal(*v, &instancePoolID) + if err != nil { + return err + } + adlstp.InstancePoolID = instancePoolID + } + case "newClusterVersion": + if v != nil { + var newClusterVersion interface{} + err = json.Unmarshal(*v, &newClusterVersion) + if err != nil { + return err + } + adlstp.NewClusterVersion = newClusterVersion + } + case "newClusterNumOfWorker": + if v != nil { + var newClusterNumOfWorker interface{} + err = json.Unmarshal(*v, &newClusterNumOfWorker) + if err != nil { + return err + } + adlstp.NewClusterNumOfWorker = newClusterNumOfWorker + } + case "newClusterNodeType": + if v != nil { + var newClusterNodeType interface{} + err = json.Unmarshal(*v, &newClusterNodeType) + if err != nil { + return err + } + adlstp.NewClusterNodeType = newClusterNodeType + } + case "newClusterSparkConf": + if v != nil { + var newClusterSparkConf map[string]interface{} + err = json.Unmarshal(*v, &newClusterSparkConf) + if err != nil { + return err + } + adlstp.NewClusterSparkConf = newClusterSparkConf + } + case "newClusterSparkEnvVars": + if v != nil { + var newClusterSparkEnvVars map[string]interface{} + err = json.Unmarshal(*v, &newClusterSparkEnvVars) + if err != nil { + return err + } + adlstp.NewClusterSparkEnvVars = newClusterSparkEnvVars + } + case "newClusterCustomTags": + if v != nil { + var newClusterCustomTags map[string]interface{} + err = json.Unmarshal(*v, &newClusterCustomTags) + if err != nil { + return err + } + adlstp.NewClusterCustomTags = newClusterCustomTags + } + case "newClusterDriverNodeType": + if v != nil { + var newClusterDriverNodeType interface{} + err = json.Unmarshal(*v, &newClusterDriverNodeType) + if err != nil { + return err + } + adlstp.NewClusterDriverNodeType = newClusterDriverNodeType + } + case "newClusterInitScripts": + if v != nil { + var newClusterInitScripts interface{} + err = json.Unmarshal(*v, &newClusterInitScripts) + if err != nil { + return err + } + adlstp.NewClusterInitScripts = newClusterInitScripts + } + case "newClusterEnableElasticDisk": + if v != nil { + var newClusterEnableElasticDisk interface{} + err = json.Unmarshal(*v, &newClusterEnableElasticDisk) + if err != nil { + return err + } + adlstp.NewClusterEnableElasticDisk = newClusterEnableElasticDisk + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + adlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureDataExplorerCommandActivity azure Data Explorer command activity. +type AzureDataExplorerCommandActivity struct { + // AzureDataExplorerCommandActivityTypeProperties - Azure Data Explorer command activity properties. + *AzureDataExplorerCommandActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) MarshalJSON() ([]byte, error) { + adeca.Type = TypeAzureDataExplorerCommand + objectMap := make(map[string]interface{}) + if adeca.AzureDataExplorerCommandActivityTypeProperties != nil { + objectMap["typeProperties"] = adeca.AzureDataExplorerCommandActivityTypeProperties + } + if adeca.LinkedServiceName != nil { + objectMap["linkedServiceName"] = adeca.LinkedServiceName + } + if adeca.Policy != nil { + objectMap["policy"] = adeca.Policy + } + if adeca.Name != nil { + objectMap["name"] = adeca.Name + } + if adeca.Description != nil { + objectMap["description"] = adeca.Description + } + if adeca.DependsOn != nil { + objectMap["dependsOn"] = adeca.DependsOn + } + if adeca.UserProperties != nil { + objectMap["userProperties"] = adeca.UserProperties + } + if adeca.Type != "" { + objectMap["type"] = adeca.Type + } + for k, v := range adeca.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return &adeca, true +} + +// AsDeleteActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &adeca, true +} + +// AsWebHookActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsBasicActivity() (BasicActivity, bool) { + return &adeca, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerCommandActivity struct. +func (adeca *AzureDataExplorerCommandActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureDataExplorerCommandActivityTypeProperties AzureDataExplorerCommandActivityTypeProperties + err = json.Unmarshal(*v, &azureDataExplorerCommandActivityTypeProperties) + if err != nil { + return err + } + adeca.AzureDataExplorerCommandActivityTypeProperties = &azureDataExplorerCommandActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + adeca.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + adeca.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adeca.AdditionalProperties == nil { + adeca.AdditionalProperties = make(map[string]interface{}) + } + adeca.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + adeca.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + adeca.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + adeca.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + adeca.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adeca.Type = typeVar + } + } + } + + return nil +} + +// AzureDataExplorerCommandActivityTypeProperties azure Data Explorer command activity properties. +type AzureDataExplorerCommandActivityTypeProperties struct { + // Command - A control command, according to the Azure Data Explorer command syntax. Type: string (or Expression with resultType string). + Command interface{} `json:"command,omitempty"` + // 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]))..) + CommandTimeout interface{} `json:"commandTimeout,omitempty"` +} + +// AzureDataExplorerDatasetTypeProperties azure Data Explorer (Kusto) dataset properties. +type AzureDataExplorerDatasetTypeProperties struct { + // Table - The table name of the Azure Data Explorer database. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// AzureDataExplorerLinkedService azure Data Explorer (Kusto) linked service. +type AzureDataExplorerLinkedService struct { + // AzureDataExplorerLinkedServiceTypeProperties - Azure Data Explorer (Kusto) linked service properties. + *AzureDataExplorerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) MarshalJSON() ([]byte, error) { + adels.Type = TypeAzureDataExplorer + objectMap := make(map[string]interface{}) + if adels.AzureDataExplorerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = adels.AzureDataExplorerLinkedServiceTypeProperties + } + if adels.ConnectVia != nil { + objectMap["connectVia"] = adels.ConnectVia + } + if adels.Description != nil { + objectMap["description"] = adels.Description + } + if adels.Parameters != nil { + objectMap["parameters"] = adels.Parameters + } + if adels.Annotations != nil { + objectMap["annotations"] = adels.Annotations + } + if adels.Type != "" { + objectMap["type"] = adels.Type + } + for k, v := range adels.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return &adels, true +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &adels, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerLinkedService struct. +func (adels *AzureDataExplorerLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureDataExplorerLinkedServiceTypeProperties AzureDataExplorerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureDataExplorerLinkedServiceTypeProperties) + if err != nil { + return err + } + adels.AzureDataExplorerLinkedServiceTypeProperties = &azureDataExplorerLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adels.AdditionalProperties == nil { + adels.AdditionalProperties = make(map[string]interface{}) + } + adels.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + adels.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + adels.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + adels.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + adels.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adels.Type = typeVar + } + } + } + + return nil +} + +// AzureDataExplorerLinkedServiceTypeProperties azure Data Explorer (Kusto) linked service properties. +type AzureDataExplorerLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of Azure Data Explorer (the engine's endpoint). URL will be in the format https://..kusto.windows.net. Type: string (or Expression with resultType string) + Endpoint interface{} `json:"endpoint,omitempty"` + // ServicePrincipalID - The ID of the service principal used to authenticate against Azure Data Explorer. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against Kusto. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Database - Database name for connection. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerLinkedServiceTypeProperties struct. +func (adelstp *AzureDataExplorerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + adelstp.Endpoint = endpoint + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + adelstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + adelstp.ServicePrincipalKey = servicePrincipalKey + } + case "database": + if v != nil { + var databaseVar interface{} + err = json.Unmarshal(*v, &databaseVar) + if err != nil { + return err + } + adelstp.Database = databaseVar + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + adelstp.Tenant = tenant + } + } + } + + return nil +} + +// AzureDataExplorerSink a copy activity Azure Data Explorer sink. +type AzureDataExplorerSink struct { + // IngestionMappingName - A name of a pre-created csv mapping that was defined on the target Kusto table. Type: string. + IngestionMappingName interface{} `json:"ingestionMappingName,omitempty"` + // IngestionMappingAsJSON - An explicit column mapping description provided in a json format. Type: string. + IngestionMappingAsJSON interface{} `json:"ingestionMappingAsJson,omitempty"` + // FlushImmediately - If set to true, any aggregation will be skipped. Default is false. Type: boolean. + FlushImmediately interface{} `json:"flushImmediately,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) MarshalJSON() ([]byte, error) { + ades.Type = TypeAzureDataExplorerSink + objectMap := make(map[string]interface{}) + if ades.IngestionMappingName != nil { + objectMap["ingestionMappingName"] = ades.IngestionMappingName + } + if ades.IngestionMappingAsJSON != nil { + objectMap["ingestionMappingAsJson"] = ades.IngestionMappingAsJSON + } + if ades.FlushImmediately != nil { + objectMap["flushImmediately"] = ades.FlushImmediately + } + if ades.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ades.WriteBatchSize + } + if ades.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ades.WriteBatchTimeout + } + if ades.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ades.SinkRetryCount + } + if ades.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ades.SinkRetryWait + } + if ades.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ades.MaxConcurrentConnections + } + if ades.Type != "" { + objectMap["type"] = ades.Type + } + for k, v := range ades.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return &ades, true +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ades, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerSink struct. +func (ades *AzureDataExplorerSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "ingestionMappingName": + if v != nil { + var ingestionMappingName interface{} + err = json.Unmarshal(*v, &ingestionMappingName) + if err != nil { + return err + } + ades.IngestionMappingName = ingestionMappingName + } + case "ingestionMappingAsJson": + if v != nil { + var ingestionMappingAsJSON interface{} + err = json.Unmarshal(*v, &ingestionMappingAsJSON) + if err != nil { + return err + } + ades.IngestionMappingAsJSON = ingestionMappingAsJSON + } + case "flushImmediately": + if v != nil { + var flushImmediately interface{} + err = json.Unmarshal(*v, &flushImmediately) + if err != nil { + return err + } + ades.FlushImmediately = flushImmediately + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ades.AdditionalProperties == nil { + ades.AdditionalProperties = make(map[string]interface{}) + } + ades.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ades.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ades.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ades.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ades.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ades.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ades.Type = typeVar + } + } + } + + return nil +} + +// AzureDataExplorerSource a copy activity Azure Data Explorer (Kusto) source. +type AzureDataExplorerSource struct { + // Query - Database query. Should be a Kusto Query Language (KQL) query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // NoTruncation - The name of the Boolean option that controls whether truncation is applied to result-sets that go beyond a certain row-count limit. + NoTruncation interface{} `json:"noTruncation,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).. + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) MarshalJSON() ([]byte, error) { + ades.Type = TypeAzureDataExplorerSource + objectMap := make(map[string]interface{}) + if ades.Query != nil { + objectMap["query"] = ades.Query + } + if ades.NoTruncation != nil { + objectMap["noTruncation"] = ades.NoTruncation + } + if ades.QueryTimeout != nil { + objectMap["queryTimeout"] = ades.QueryTimeout + } + if ades.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ades.SourceRetryCount + } + if ades.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ades.SourceRetryWait + } + if ades.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ades.MaxConcurrentConnections + } + if ades.Type != "" { + objectMap["type"] = ades.Type + } + for k, v := range ades.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return &ades, true +} + +// AsHdfsSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ades, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerSource struct. +func (ades *AzureDataExplorerSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ades.Query = query + } + case "noTruncation": + if v != nil { + var noTruncation interface{} + err = json.Unmarshal(*v, &noTruncation) + if err != nil { + return err + } + ades.NoTruncation = noTruncation + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ades.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ades.AdditionalProperties == nil { + ades.AdditionalProperties = make(map[string]interface{}) + } + ades.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ades.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ades.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ades.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ades.Type = typeVar + } + } + } + + return nil +} + +// AzureDataExplorerTableDataset the Azure Data Explorer (Kusto) dataset. +type AzureDataExplorerTableDataset struct { + // AzureDataExplorerDatasetTypeProperties - Azure Data Explorer (Kusto) dataset properties. + *AzureDataExplorerDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) MarshalJSON() ([]byte, error) { + adetd.Type = TypeAzureDataExplorerTable + objectMap := make(map[string]interface{}) + if adetd.AzureDataExplorerDatasetTypeProperties != nil { + objectMap["typeProperties"] = adetd.AzureDataExplorerDatasetTypeProperties + } + if adetd.Description != nil { + objectMap["description"] = adetd.Description + } + if adetd.Structure != nil { + objectMap["structure"] = adetd.Structure + } + if adetd.Schema != nil { + objectMap["schema"] = adetd.Schema + } + if adetd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = adetd.LinkedServiceName + } + if adetd.Parameters != nil { + objectMap["parameters"] = adetd.Parameters + } + if adetd.Annotations != nil { + objectMap["annotations"] = adetd.Annotations + } + if adetd.Folder != nil { + objectMap["folder"] = adetd.Folder + } + if adetd.Type != "" { + objectMap["type"] = adetd.Type + } + for k, v := range adetd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return &adetd, true +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &adetd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerTableDataset struct. +func (adetd *AzureDataExplorerTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureDataExplorerDatasetTypeProperties AzureDataExplorerDatasetTypeProperties + err = json.Unmarshal(*v, &azureDataExplorerDatasetTypeProperties) + if err != nil { + return err + } + adetd.AzureDataExplorerDatasetTypeProperties = &azureDataExplorerDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adetd.AdditionalProperties == nil { + adetd.AdditionalProperties = make(map[string]interface{}) + } + adetd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + adetd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + adetd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + adetd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + adetd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + adetd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + adetd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + adetd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adetd.Type = typeVar + } + } + } + + return nil +} + +// AzureDataLakeAnalyticsLinkedService azure Data Lake Analytics linked service. +type AzureDataLakeAnalyticsLinkedService struct { + // AzureDataLakeAnalyticsLinkedServiceTypeProperties - Azure Data Lake Analytics linked service properties. + *AzureDataLakeAnalyticsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) MarshalJSON() ([]byte, error) { + adlals.Type = TypeAzureDataLakeAnalytics + objectMap := make(map[string]interface{}) + if adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties + } + if adlals.ConnectVia != nil { + objectMap["connectVia"] = adlals.ConnectVia + } + if adlals.Description != nil { + objectMap["description"] = adlals.Description + } + if adlals.Parameters != nil { + objectMap["parameters"] = adlals.Parameters + } + if adlals.Annotations != nil { + objectMap["annotations"] = adlals.Annotations + } + if adlals.Type != "" { + objectMap["type"] = adlals.Type + } + for k, v := range adlals.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return &adlals, true +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &adlals, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedService struct. +func (adlals *AzureDataLakeAnalyticsLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureDataLakeAnalyticsLinkedServiceTypeProperties AzureDataLakeAnalyticsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureDataLakeAnalyticsLinkedServiceTypeProperties) + if err != nil { + return err + } + adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties = &azureDataLakeAnalyticsLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adlals.AdditionalProperties == nil { + adlals.AdditionalProperties = make(map[string]interface{}) + } + adlals.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + adlals.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + adlals.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + adlals.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + adlals.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlals.Type = typeVar + } + } + } + + return nil +} + +// AzureDataLakeAnalyticsLinkedServiceTypeProperties azure Data Lake Analytics linked service properties. +type AzureDataLakeAnalyticsLinkedServiceTypeProperties struct { + // AccountName - The Azure Data Lake Analytics account name. Type: string (or Expression with resultType string). + AccountName interface{} `json:"accountName,omitempty"` + // ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Analytics account. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Analytics account. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // SubscriptionID - Data Lake Analytics account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string). + SubscriptionID interface{} `json:"subscriptionId,omitempty"` + // ResourceGroupName - Data Lake Analytics account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string). + ResourceGroupName interface{} `json:"resourceGroupName,omitempty"` + // DataLakeAnalyticsURI - Azure Data Lake Analytics URI Type: string (or Expression with resultType string). + DataLakeAnalyticsURI interface{} `json:"dataLakeAnalyticsUri,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedServiceTypeProperties struct. +func (adlalstp *AzureDataLakeAnalyticsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "accountName": + if v != nil { + var accountName interface{} + err = json.Unmarshal(*v, &accountName) + if err != nil { + return err + } + adlalstp.AccountName = accountName + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + adlalstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + adlalstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + adlalstp.Tenant = tenant + } + case "subscriptionId": + if v != nil { + var subscriptionID interface{} + err = json.Unmarshal(*v, &subscriptionID) + if err != nil { + return err + } + adlalstp.SubscriptionID = subscriptionID + } + case "resourceGroupName": + if v != nil { + var resourceGroupName interface{} + err = json.Unmarshal(*v, &resourceGroupName) + if err != nil { + return err + } + adlalstp.ResourceGroupName = resourceGroupName + } + case "dataLakeAnalyticsUri": + if v != nil { + var dataLakeAnalyticsURI interface{} + err = json.Unmarshal(*v, &dataLakeAnalyticsURI) + if err != nil { + return err + } + adlalstp.DataLakeAnalyticsURI = dataLakeAnalyticsURI + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + adlalstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureDataLakeStoreLinkedService azure Data Lake Store linked service. +type AzureDataLakeStoreLinkedService struct { + // AzureDataLakeStoreLinkedServiceTypeProperties - Azure Data Lake Store linked service properties. + *AzureDataLakeStoreLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) MarshalJSON() ([]byte, error) { + adlsls.Type = TypeAzureDataLakeStore + objectMap := make(map[string]interface{}) + if adlsls.AzureDataLakeStoreLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = adlsls.AzureDataLakeStoreLinkedServiceTypeProperties + } + if adlsls.ConnectVia != nil { + objectMap["connectVia"] = adlsls.ConnectVia + } + if adlsls.Description != nil { + objectMap["description"] = adlsls.Description + } + if adlsls.Parameters != nil { + objectMap["parameters"] = adlsls.Parameters + } + if adlsls.Annotations != nil { + objectMap["annotations"] = adlsls.Annotations + } + if adlsls.Type != "" { + objectMap["type"] = adlsls.Type + } + for k, v := range adlsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return &adlsls, true +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &adlsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedService struct. +func (adlsls *AzureDataLakeStoreLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureDataLakeStoreLinkedServiceTypeProperties AzureDataLakeStoreLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureDataLakeStoreLinkedServiceTypeProperties) + if err != nil { + return err + } + adlsls.AzureDataLakeStoreLinkedServiceTypeProperties = &azureDataLakeStoreLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adlsls.AdditionalProperties == nil { + adlsls.AdditionalProperties = make(map[string]interface{}) + } + adlsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + adlsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + adlsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + adlsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + adlsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlsls.Type = typeVar + } + } + } + + return nil +} + +// AzureDataLakeStoreLinkedServiceTypeProperties azure Data Lake Store linked service properties. +type AzureDataLakeStoreLinkedServiceTypeProperties struct { + // DataLakeStoreURI - Data Lake Store service URI. Type: string (or Expression with resultType string). + DataLakeStoreURI interface{} `json:"dataLakeStoreUri,omitempty"` + // ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Store account. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Store account. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // AccountName - Data Lake Store account name. Type: string (or Expression with resultType string). + AccountName interface{} `json:"accountName,omitempty"` + // SubscriptionID - Data Lake Store account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string). + SubscriptionID interface{} `json:"subscriptionId,omitempty"` + // ResourceGroupName - Data Lake Store account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string). + ResourceGroupName interface{} `json:"resourceGroupName,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedServiceTypeProperties struct. +func (adlslstp *AzureDataLakeStoreLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "dataLakeStoreUri": + if v != nil { + var dataLakeStoreURI interface{} + err = json.Unmarshal(*v, &dataLakeStoreURI) + if err != nil { + return err + } + adlslstp.DataLakeStoreURI = dataLakeStoreURI + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + adlslstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + adlslstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + adlslstp.Tenant = tenant + } + case "accountName": + if v != nil { + var accountName interface{} + err = json.Unmarshal(*v, &accountName) + if err != nil { + return err + } + adlslstp.AccountName = accountName + } + case "subscriptionId": + if v != nil { + var subscriptionID interface{} + err = json.Unmarshal(*v, &subscriptionID) + if err != nil { + return err + } + adlslstp.SubscriptionID = subscriptionID + } + case "resourceGroupName": + if v != nil { + var resourceGroupName interface{} + err = json.Unmarshal(*v, &resourceGroupName) + if err != nil { + return err + } + adlslstp.ResourceGroupName = resourceGroupName + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + adlslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureDataLakeStoreLocation the location of azure data lake store dataset. +type AzureDataLakeStoreLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) MarshalJSON() ([]byte, error) { + adlsl.Type = TypeAzureDataLakeStoreLocation + objectMap := make(map[string]interface{}) + if adlsl.FolderPath != nil { + objectMap["folderPath"] = adlsl.FolderPath + } + if adlsl.FileName != nil { + objectMap["fileName"] = adlsl.FileName + } + if adlsl.Type != "" { + objectMap["type"] = adlsl.Type + } + for k, v := range adlsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return &adlsl, true +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation. +func (adlsl AzureDataLakeStoreLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &adlsl, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLocation struct. +func (adlsl *AzureDataLakeStoreLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adlsl.AdditionalProperties == nil { + adlsl.AdditionalProperties = make(map[string]interface{}) + } + adlsl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + adlsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + adlsl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlsl.Type = typeVar + } + } + } + + return nil +} + +// AzureDataLakeStoreReadSettings azure data lake store read settings. +type AzureDataLakeStoreReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - ADLS wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - ADLS wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) MarshalJSON() ([]byte, error) { + adlsrs.Type = TypeAzureDataLakeStoreReadSettings + objectMap := make(map[string]interface{}) + if adlsrs.Recursive != nil { + objectMap["recursive"] = adlsrs.Recursive + } + if adlsrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = adlsrs.WildcardFolderPath + } + if adlsrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = adlsrs.WildcardFileName + } + if adlsrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = adlsrs.EnablePartitionDiscovery + } + if adlsrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = adlsrs.ModifiedDatetimeStart + } + if adlsrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = adlsrs.ModifiedDatetimeEnd + } + if adlsrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = adlsrs.MaxConcurrentConnections + } + if adlsrs.Type != "" { + objectMap["type"] = adlsrs.Type + } + for k, v := range adlsrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return &adlsrs, true +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings. +func (adlsrs AzureDataLakeStoreReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &adlsrs, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreReadSettings struct. +func (adlsrs *AzureDataLakeStoreReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + adlsrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + adlsrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + adlsrs.WildcardFileName = wildcardFileName + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + adlsrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + adlsrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + adlsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adlsrs.AdditionalProperties == nil { + adlsrs.AdditionalProperties = make(map[string]interface{}) + } + adlsrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + adlsrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlsrs.Type = typeVar + } + } + } + + return nil +} + +// AzureDataLakeStoreSink a copy activity Azure Data Lake Store sink. +type AzureDataLakeStoreSink struct { + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // EnableAdlsSingleFileParallel - Single File Parallel. + EnableAdlsSingleFileParallel interface{} `json:"enableAdlsSingleFileParallel,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) MarshalJSON() ([]byte, error) { + adlss.Type = TypeAzureDataLakeStoreSink + objectMap := make(map[string]interface{}) + if adlss.CopyBehavior != nil { + objectMap["copyBehavior"] = adlss.CopyBehavior + } + if adlss.EnableAdlsSingleFileParallel != nil { + objectMap["enableAdlsSingleFileParallel"] = adlss.EnableAdlsSingleFileParallel + } + if adlss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = adlss.WriteBatchSize + } + if adlss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = adlss.WriteBatchTimeout + } + if adlss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = adlss.SinkRetryCount + } + if adlss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = adlss.SinkRetryWait + } + if adlss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = adlss.MaxConcurrentConnections + } + if adlss.Type != "" { + objectMap["type"] = adlss.Type + } + for k, v := range adlss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return &adlss, true +} + +// AsOracleSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsBasicCopySink() (BasicCopySink, bool) { + return &adlss, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSink struct. +func (adlss *AzureDataLakeStoreSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + adlss.CopyBehavior = copyBehavior + } + case "enableAdlsSingleFileParallel": + if v != nil { + var enableAdlsSingleFileParallel interface{} + err = json.Unmarshal(*v, &enableAdlsSingleFileParallel) + if err != nil { + return err + } + adlss.EnableAdlsSingleFileParallel = enableAdlsSingleFileParallel + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adlss.AdditionalProperties == nil { + adlss.AdditionalProperties = make(map[string]interface{}) + } + adlss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + adlss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + adlss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + adlss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + adlss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + adlss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlss.Type = typeVar + } + } + } + + return nil +} + +// AzureDataLakeStoreSource a copy activity Azure Data Lake source. +type AzureDataLakeStoreSource struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) MarshalJSON() ([]byte, error) { + adlss.Type = TypeAzureDataLakeStoreSource + objectMap := make(map[string]interface{}) + if adlss.Recursive != nil { + objectMap["recursive"] = adlss.Recursive + } + if adlss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = adlss.SourceRetryCount + } + if adlss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = adlss.SourceRetryWait + } + if adlss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = adlss.MaxConcurrentConnections + } + if adlss.Type != "" { + objectMap["type"] = adlss.Type + } + for k, v := range adlss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return &adlss, true +} + +// AsOffice365Source is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsBasicCopySource() (BasicCopySource, bool) { + return &adlss, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSource struct. +func (adlss *AzureDataLakeStoreSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + adlss.Recursive = recursive + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adlss.AdditionalProperties == nil { + adlss.AdditionalProperties = make(map[string]interface{}) + } + adlss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + adlss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + adlss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + adlss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlss.Type = typeVar + } + } + } + + return nil +} + +// AzureDataLakeStoreWriteSettings azure data lake store write settings. +type AzureDataLakeStoreWriteSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) MarshalJSON() ([]byte, error) { + adlsws.Type = TypeAzureDataLakeStoreWriteSettings + objectMap := make(map[string]interface{}) + if adlsws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = adlsws.MaxConcurrentConnections + } + if adlsws.CopyBehavior != nil { + objectMap["copyBehavior"] = adlsws.CopyBehavior + } + if adlsws.Type != "" { + objectMap["type"] = adlsws.Type + } + for k, v := range adlsws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return &adlsws, true +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsSftpWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &adlsws, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreWriteSettings struct. +func (adlsws *AzureDataLakeStoreWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if adlsws.AdditionalProperties == nil { + adlsws.AdditionalProperties = make(map[string]interface{}) + } + adlsws.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + adlsws.MaxConcurrentConnections = maxConcurrentConnections + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + adlsws.CopyBehavior = copyBehavior + } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlsws.Type = typeVar + } + } + } + + return nil +} + +// AzureFileStorageLinkedService azure File Storage linked service. +type AzureFileStorageLinkedService struct { + // AzureFileStorageLinkedServiceTypeProperties - Azure File Storage linked service properties. + *AzureFileStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) MarshalJSON() ([]byte, error) { + afsls.Type = TypeAzureFileStorage + objectMap := make(map[string]interface{}) + if afsls.AzureFileStorageLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = afsls.AzureFileStorageLinkedServiceTypeProperties + } + if afsls.ConnectVia != nil { + objectMap["connectVia"] = afsls.ConnectVia + } + if afsls.Description != nil { + objectMap["description"] = afsls.Description + } + if afsls.Parameters != nil { + objectMap["parameters"] = afsls.Parameters + } + if afsls.Annotations != nil { + objectMap["annotations"] = afsls.Annotations + } + if afsls.Type != "" { + objectMap["type"] = afsls.Type + } + for k, v := range afsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return &afsls, true +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &afsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageLinkedService struct. +func (afsls *AzureFileStorageLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureFileStorageLinkedServiceTypeProperties AzureFileStorageLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureFileStorageLinkedServiceTypeProperties) + if err != nil { + return err + } + afsls.AzureFileStorageLinkedServiceTypeProperties = &azureFileStorageLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afsls.AdditionalProperties == nil { + afsls.AdditionalProperties = make(map[string]interface{}) + } + afsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + afsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + afsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + afsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + afsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afsls.Type = typeVar + } + } + } + + return nil +} + +// AzureFileStorageLinkedServiceTypeProperties azure File Storage linked service properties. +type AzureFileStorageLinkedServiceTypeProperties struct { + // Host - Host name of the server. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // UserID - User ID to logon the server. Type: string (or Expression with resultType string). + UserID interface{} `json:"userId,omitempty"` + // Password - Password to logon the server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageLinkedServiceTypeProperties struct. +func (afslstp *AzureFileStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + afslstp.Host = host + } + case "userId": + if v != nil { + var userID interface{} + err = json.Unmarshal(*v, &userID) + if err != nil { + return err + } + afslstp.UserID = userID + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + afslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + afslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureFileStorageLocation the location of file server dataset. +type AzureFileStorageLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) MarshalJSON() ([]byte, error) { + afsl.Type = TypeAzureFileStorageLocation + objectMap := make(map[string]interface{}) + if afsl.FolderPath != nil { + objectMap["folderPath"] = afsl.FolderPath + } + if afsl.FileName != nil { + objectMap["fileName"] = afsl.FileName + } + if afsl.Type != "" { + objectMap["type"] = afsl.Type + } + for k, v := range afsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return &afsl, true +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &afsl, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageLocation struct. +func (afsl *AzureFileStorageLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afsl.AdditionalProperties == nil { + afsl.AdditionalProperties = make(map[string]interface{}) + } + afsl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + afsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + afsl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afsl.Type = typeVar + } + } + } + + return nil +} + +// AzureFileStorageReadSettings azure File Storage read settings. +type AzureFileStorageReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Azure File Storage wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Azure File Storage wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) MarshalJSON() ([]byte, error) { + afsrs.Type = TypeAzureFileStorageReadSettings + objectMap := make(map[string]interface{}) + if afsrs.Recursive != nil { + objectMap["recursive"] = afsrs.Recursive + } + if afsrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = afsrs.WildcardFolderPath + } + if afsrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = afsrs.WildcardFileName + } + if afsrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = afsrs.EnablePartitionDiscovery + } + if afsrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = afsrs.ModifiedDatetimeStart + } + if afsrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = afsrs.ModifiedDatetimeEnd + } + if afsrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = afsrs.MaxConcurrentConnections + } + if afsrs.Type != "" { + objectMap["type"] = afsrs.Type + } + for k, v := range afsrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return &afsrs, true +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &afsrs, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageReadSettings struct. +func (afsrs *AzureFileStorageReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + afsrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + afsrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + afsrs.WildcardFileName = wildcardFileName + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + afsrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + afsrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + afsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afsrs.AdditionalProperties == nil { + afsrs.AdditionalProperties = make(map[string]interface{}) + } + afsrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + afsrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afsrs.Type = typeVar + } + } + } + + return nil +} + +// AzureFunctionActivity azure Function activity. +type AzureFunctionActivity struct { + // AzureFunctionActivityTypeProperties - Azure Function activity properties. + *AzureFunctionActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFunctionActivity. +func (afa AzureFunctionActivity) MarshalJSON() ([]byte, error) { + afa.Type = TypeAzureFunctionActivity + objectMap := make(map[string]interface{}) + if afa.AzureFunctionActivityTypeProperties != nil { + objectMap["typeProperties"] = afa.AzureFunctionActivityTypeProperties + } + if afa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = afa.LinkedServiceName + } + if afa.Policy != nil { + objectMap["policy"] = afa.Policy + } + if afa.Name != nil { + objectMap["name"] = afa.Name + } + if afa.Description != nil { + objectMap["description"] = afa.Description + } + if afa.DependsOn != nil { + objectMap["dependsOn"] = afa.DependsOn + } + if afa.UserProperties != nil { + objectMap["userProperties"] = afa.UserProperties + } + if afa.Type != "" { + objectMap["type"] = afa.Type + } + for k, v := range afa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return &afa, true +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &afa, true +} + +// AsWebHookActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsBasicActivity() (BasicActivity, bool) { + return &afa, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureFunctionActivity struct. +func (afa *AzureFunctionActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureFunctionActivityTypeProperties AzureFunctionActivityTypeProperties + err = json.Unmarshal(*v, &azureFunctionActivityTypeProperties) + if err != nil { + return err + } + afa.AzureFunctionActivityTypeProperties = &azureFunctionActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + afa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + afa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afa.AdditionalProperties == nil { + afa.AdditionalProperties = make(map[string]interface{}) + } + afa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + afa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + afa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + afa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afa.Type = typeVar + } + } + } + + return nil +} + +// AzureFunctionActivityTypeProperties azure Function activity type properties. +type AzureFunctionActivityTypeProperties struct { + // Method - Rest API method for target endpoint. Possible values include: 'GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'HEAD', 'TRACE' + Method AzureFunctionActivityMethod `json:"method,omitempty"` + // FunctionName - Name of the Function that the Azure Function Activity will call. Type: string (or Expression with resultType string) + FunctionName interface{} `json:"functionName,omitempty"` + // 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). + Headers interface{} `json:"headers,omitempty"` + // 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). + Body interface{} `json:"body,omitempty"` +} + +// AzureFunctionLinkedService azure Function linked service. +type AzureFunctionLinkedService struct { + // AzureFunctionLinkedServiceTypeProperties - Azure Function linked service properties. + *AzureFunctionLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) MarshalJSON() ([]byte, error) { + afls.Type = TypeAzureFunction + objectMap := make(map[string]interface{}) + if afls.AzureFunctionLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = afls.AzureFunctionLinkedServiceTypeProperties + } + if afls.ConnectVia != nil { + objectMap["connectVia"] = afls.ConnectVia + } + if afls.Description != nil { + objectMap["description"] = afls.Description + } + if afls.Parameters != nil { + objectMap["parameters"] = afls.Parameters + } + if afls.Annotations != nil { + objectMap["annotations"] = afls.Annotations + } + if afls.Type != "" { + objectMap["type"] = afls.Type + } + for k, v := range afls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return &afls, true +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &afls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureFunctionLinkedService struct. +func (afls *AzureFunctionLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureFunctionLinkedServiceTypeProperties AzureFunctionLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureFunctionLinkedServiceTypeProperties) + if err != nil { + return err + } + afls.AzureFunctionLinkedServiceTypeProperties = &azureFunctionLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afls.AdditionalProperties == nil { + afls.AdditionalProperties = make(map[string]interface{}) + } + afls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + afls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + afls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + afls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + afls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afls.Type = typeVar + } + } + } + + return nil +} + +// AzureFunctionLinkedServiceTypeProperties azure Function linked service properties. +type AzureFunctionLinkedServiceTypeProperties struct { + // FunctionAppURL - The endpoint of the Azure Function App. URL will be in the format https://.azurewebsites.net. + FunctionAppURL interface{} `json:"functionAppUrl,omitempty"` + // FunctionKey - Function or Host key for Azure Function App. + FunctionKey BasicSecretBase `json:"functionKey,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureFunctionLinkedServiceTypeProperties struct. +func (aflstp *AzureFunctionLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "functionAppUrl": + if v != nil { + var functionAppURL interface{} + err = json.Unmarshal(*v, &functionAppURL) + if err != nil { + return err + } + aflstp.FunctionAppURL = functionAppURL + } + case "functionKey": + if v != nil { + functionKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + aflstp.FunctionKey = functionKey + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + aflstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureKeyVaultLinkedService azure Key Vault linked service. +type AzureKeyVaultLinkedService struct { + // AzureKeyVaultLinkedServiceTypeProperties - Azure Key Vault linked service properties. + *AzureKeyVaultLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) MarshalJSON() ([]byte, error) { + akvls.Type = TypeAzureKeyVault + objectMap := make(map[string]interface{}) + if akvls.AzureKeyVaultLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = akvls.AzureKeyVaultLinkedServiceTypeProperties + } + if akvls.ConnectVia != nil { + objectMap["connectVia"] = akvls.ConnectVia + } + if akvls.Description != nil { + objectMap["description"] = akvls.Description + } + if akvls.Parameters != nil { + objectMap["parameters"] = akvls.Parameters + } + if akvls.Annotations != nil { + objectMap["annotations"] = akvls.Annotations + } + if akvls.Type != "" { + objectMap["type"] = akvls.Type + } + for k, v := range akvls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return &akvls, true +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &akvls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureKeyVaultLinkedService struct. +func (akvls *AzureKeyVaultLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureKeyVaultLinkedServiceTypeProperties AzureKeyVaultLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureKeyVaultLinkedServiceTypeProperties) + if err != nil { + return err + } + akvls.AzureKeyVaultLinkedServiceTypeProperties = &azureKeyVaultLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if akvls.AdditionalProperties == nil { + akvls.AdditionalProperties = make(map[string]interface{}) + } + akvls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + akvls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + akvls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + akvls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + akvls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + akvls.Type = typeVar + } + } + } + + return nil +} + +// AzureKeyVaultLinkedServiceTypeProperties azure Key Vault linked service properties. +type AzureKeyVaultLinkedServiceTypeProperties struct { + // BaseURL - The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string). + BaseURL interface{} `json:"baseUrl,omitempty"` +} + +// AzureKeyVaultSecretReference azure Key Vault secret reference. +type AzureKeyVaultSecretReference struct { + // Store - The Azure Key Vault linked service reference. + Store *LinkedServiceReference `json:"store,omitempty"` + // SecretName - The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string). + SecretName interface{} `json:"secretName,omitempty"` + // 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). + SecretVersion interface{} `json:"secretVersion,omitempty"` + // Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret' + Type Type `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureKeyVaultSecretReference. +func (akvsr AzureKeyVaultSecretReference) MarshalJSON() ([]byte, error) { + akvsr.Type = TypeAzureKeyVaultSecret + objectMap := make(map[string]interface{}) + if akvsr.Store != nil { + objectMap["store"] = akvsr.Store + } + if akvsr.SecretName != nil { + objectMap["secretName"] = akvsr.SecretName + } + if akvsr.SecretVersion != nil { + objectMap["secretVersion"] = akvsr.SecretVersion + } + if akvsr.Type != "" { + objectMap["type"] = akvsr.Type + } + return json.Marshal(objectMap) +} + +// AsSecureString is the BasicSecretBase implementation for AzureKeyVaultSecretReference. +func (akvsr AzureKeyVaultSecretReference) AsSecureString() (*SecureString, bool) { + return nil, false +} + +// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for AzureKeyVaultSecretReference. +func (akvsr AzureKeyVaultSecretReference) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) { + return &akvsr, true +} + +// AsSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference. +func (akvsr AzureKeyVaultSecretReference) AsSecretBase() (*SecretBase, bool) { + return nil, false +} + +// AsBasicSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference. +func (akvsr AzureKeyVaultSecretReference) AsBasicSecretBase() (BasicSecretBase, bool) { + return &akvsr, true +} + +// AzureMariaDBLinkedService azure Database for MariaDB linked service. +type AzureMariaDBLinkedService struct { + // AzureMariaDBLinkedServiceTypeProperties - Azure Database for MariaDB linked service properties. + *AzureMariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) MarshalJSON() ([]byte, error) { + amdls.Type = TypeAzureMariaDB + objectMap := make(map[string]interface{}) + if amdls.AzureMariaDBLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = amdls.AzureMariaDBLinkedServiceTypeProperties + } + if amdls.ConnectVia != nil { + objectMap["connectVia"] = amdls.ConnectVia + } + if amdls.Description != nil { + objectMap["description"] = amdls.Description + } + if amdls.Parameters != nil { + objectMap["parameters"] = amdls.Parameters + } + if amdls.Annotations != nil { + objectMap["annotations"] = amdls.Annotations + } + if amdls.Type != "" { + objectMap["type"] = amdls.Type + } + for k, v := range amdls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return &amdls, true +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &amdls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMariaDBLinkedService struct. +func (amdls *AzureMariaDBLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMariaDBLinkedServiceTypeProperties AzureMariaDBLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureMariaDBLinkedServiceTypeProperties) + if err != nil { + return err + } + amdls.AzureMariaDBLinkedServiceTypeProperties = &azureMariaDBLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amdls.AdditionalProperties == nil { + amdls.AdditionalProperties = make(map[string]interface{}) + } + amdls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + amdls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amdls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amdls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amdls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amdls.Type = typeVar + } + } + } + + return nil +} + +// AzureMariaDBLinkedServiceTypeProperties azure Database for MariaDB linked service properties. +type AzureMariaDBLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// AzureMariaDBSource a copy activity Azure MariaDB source. +type AzureMariaDBSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMariaDBSource. +func (amds AzureMariaDBSource) MarshalJSON() ([]byte, error) { + amds.Type = TypeAzureMariaDBSource + objectMap := make(map[string]interface{}) + if amds.Query != nil { + objectMap["query"] = amds.Query + } + if amds.QueryTimeout != nil { + objectMap["queryTimeout"] = amds.QueryTimeout + } + if amds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = amds.SourceRetryCount + } + if amds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = amds.SourceRetryWait + } + if amds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = amds.MaxConcurrentConnections + } + if amds.Type != "" { + objectMap["type"] = amds.Type + } + for k, v := range amds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return &amds, true +} + +// AsMariaDBSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &amds, true +} + +// AsBinarySource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsBasicCopySource() (BasicCopySource, bool) { + return &amds, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMariaDBSource struct. +func (amds *AzureMariaDBSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + amds.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + amds.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amds.AdditionalProperties == nil { + amds.AdditionalProperties = make(map[string]interface{}) + } + amds.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + amds.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + amds.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + amds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amds.Type = typeVar + } + } + } + + return nil +} + +// AzureMariaDBTableDataset azure Database for MariaDB dataset. +type AzureMariaDBTableDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) MarshalJSON() ([]byte, error) { + amdtd.Type = TypeAzureMariaDBTable + objectMap := make(map[string]interface{}) + if amdtd.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = amdtd.GenericDatasetTypeProperties + } + if amdtd.Description != nil { + objectMap["description"] = amdtd.Description + } + if amdtd.Structure != nil { + objectMap["structure"] = amdtd.Structure + } + if amdtd.Schema != nil { + objectMap["schema"] = amdtd.Schema + } + if amdtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = amdtd.LinkedServiceName + } + if amdtd.Parameters != nil { + objectMap["parameters"] = amdtd.Parameters + } + if amdtd.Annotations != nil { + objectMap["annotations"] = amdtd.Annotations + } + if amdtd.Folder != nil { + objectMap["folder"] = amdtd.Folder + } + if amdtd.Type != "" { + objectMap["type"] = amdtd.Type + } + for k, v := range amdtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return &amdtd, true +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &amdtd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMariaDBTableDataset struct. +func (amdtd *AzureMariaDBTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + amdtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amdtd.AdditionalProperties == nil { + amdtd.AdditionalProperties = make(map[string]interface{}) + } + amdtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amdtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + amdtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + amdtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + amdtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amdtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amdtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + amdtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amdtd.Type = typeVar + } + } + } + + return nil +} + +// AzureMLBatchExecutionActivity azure ML Batch Execution activity. +type AzureMLBatchExecutionActivity struct { + // AzureMLBatchExecutionActivityTypeProperties - Azure ML Batch Execution activity properties. + *AzureMLBatchExecutionActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) MarshalJSON() ([]byte, error) { + ambea.Type = TypeAzureMLBatchExecution + objectMap := make(map[string]interface{}) + if ambea.AzureMLBatchExecutionActivityTypeProperties != nil { + objectMap["typeProperties"] = ambea.AzureMLBatchExecutionActivityTypeProperties + } + if ambea.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ambea.LinkedServiceName + } + if ambea.Policy != nil { + objectMap["policy"] = ambea.Policy + } + if ambea.Name != nil { + objectMap["name"] = ambea.Name + } + if ambea.Description != nil { + objectMap["description"] = ambea.Description + } + if ambea.DependsOn != nil { + objectMap["dependsOn"] = ambea.DependsOn + } + if ambea.UserProperties != nil { + objectMap["userProperties"] = ambea.UserProperties + } + if ambea.Type != "" { + objectMap["type"] = ambea.Type + } + for k, v := range ambea.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return &ambea, true +} + +// AsGetMetadataActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &ambea, true +} + +// AsWebHookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsBasicActivity() (BasicActivity, bool) { + return &ambea, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLBatchExecutionActivity struct. +func (ambea *AzureMLBatchExecutionActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMLBatchExecutionActivityTypeProperties AzureMLBatchExecutionActivityTypeProperties + err = json.Unmarshal(*v, &azureMLBatchExecutionActivityTypeProperties) + if err != nil { + return err + } + ambea.AzureMLBatchExecutionActivityTypeProperties = &azureMLBatchExecutionActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ambea.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + ambea.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ambea.AdditionalProperties == nil { + ambea.AdditionalProperties = make(map[string]interface{}) + } + ambea.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ambea.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ambea.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ambea.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ambea.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ambea.Type = typeVar + } + } + } + + return nil +} + +// AzureMLBatchExecutionActivityTypeProperties azure ML Batch Execution activity properties. +type AzureMLBatchExecutionActivityTypeProperties struct { + // 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. + GlobalParameters map[string]interface{} `json:"globalParameters"` + // 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. + WebServiceOutputs map[string]*AzureMLWebServiceFile `json:"webServiceOutputs"` + // 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. + WebServiceInputs map[string]*AzureMLWebServiceFile `json:"webServiceInputs"` +} + +// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivityTypeProperties. +func (ambeatp AzureMLBatchExecutionActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ambeatp.GlobalParameters != nil { + objectMap["globalParameters"] = ambeatp.GlobalParameters + } + if ambeatp.WebServiceOutputs != nil { + objectMap["webServiceOutputs"] = ambeatp.WebServiceOutputs + } + if ambeatp.WebServiceInputs != nil { + objectMap["webServiceInputs"] = ambeatp.WebServiceInputs + } + return json.Marshal(objectMap) +} + +// AzureMLExecutePipelineActivity azure ML Execute Pipeline activity. +type AzureMLExecutePipelineActivity struct { + // AzureMLExecutePipelineActivityTypeProperties - Azure ML Execute Pipeline activity properties. + *AzureMLExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) MarshalJSON() ([]byte, error) { + amepa.Type = TypeAzureMLExecutePipeline + objectMap := make(map[string]interface{}) + if amepa.AzureMLExecutePipelineActivityTypeProperties != nil { + objectMap["typeProperties"] = amepa.AzureMLExecutePipelineActivityTypeProperties + } + if amepa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = amepa.LinkedServiceName + } + if amepa.Policy != nil { + objectMap["policy"] = amepa.Policy + } + if amepa.Name != nil { + objectMap["name"] = amepa.Name + } + if amepa.Description != nil { + objectMap["description"] = amepa.Description + } + if amepa.DependsOn != nil { + objectMap["dependsOn"] = amepa.DependsOn + } + if amepa.UserProperties != nil { + objectMap["userProperties"] = amepa.UserProperties + } + if amepa.Type != "" { + objectMap["type"] = amepa.Type + } + for k, v := range amepa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return &amepa, true +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &amepa, true +} + +// AsWebHookActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) { + return &amepa, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLExecutePipelineActivity struct. +func (amepa *AzureMLExecutePipelineActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMLExecutePipelineActivityTypeProperties AzureMLExecutePipelineActivityTypeProperties + err = json.Unmarshal(*v, &azureMLExecutePipelineActivityTypeProperties) + if err != nil { + return err + } + amepa.AzureMLExecutePipelineActivityTypeProperties = &azureMLExecutePipelineActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + amepa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + amepa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amepa.AdditionalProperties == nil { + amepa.AdditionalProperties = make(map[string]interface{}) + } + amepa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + amepa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amepa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + amepa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + amepa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amepa.Type = typeVar + } + } + } + + return nil +} + +// AzureMLExecutePipelineActivityTypeProperties azure ML Execute Pipeline activity properties. +type AzureMLExecutePipelineActivityTypeProperties struct { + // MlPipelineID - ID of the published Azure ML pipeline. Type: string (or Expression with resultType string). + MlPipelineID interface{} `json:"mlPipelineId,omitempty"` + // 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). + ExperimentName interface{} `json:"experimentName,omitempty"` + // 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). + MlPipelineParameters interface{} `json:"mlPipelineParameters,omitempty"` + // 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). + MlParentRunID interface{} `json:"mlParentRunId,omitempty"` + // 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). + ContinueOnStepFailure interface{} `json:"continueOnStepFailure,omitempty"` +} + +// AzureMLLinkedService azure ML Studio Web Service linked service. +type AzureMLLinkedService struct { + // AzureMLLinkedServiceTypeProperties - Azure ML Studio Web Service linked service properties. + *AzureMLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMLLinkedService. +func (amls AzureMLLinkedService) MarshalJSON() ([]byte, error) { + amls.Type = TypeAzureML + objectMap := make(map[string]interface{}) + if amls.AzureMLLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = amls.AzureMLLinkedServiceTypeProperties + } + if amls.ConnectVia != nil { + objectMap["connectVia"] = amls.ConnectVia + } + if amls.Description != nil { + objectMap["description"] = amls.Description + } + if amls.Parameters != nil { + objectMap["parameters"] = amls.Parameters + } + if amls.Annotations != nil { + objectMap["annotations"] = amls.Annotations + } + if amls.Type != "" { + objectMap["type"] = amls.Type + } + for k, v := range amls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return &amls, true +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &amls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedService struct. +func (amls *AzureMLLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMLLinkedServiceTypeProperties AzureMLLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureMLLinkedServiceTypeProperties) + if err != nil { + return err + } + amls.AzureMLLinkedServiceTypeProperties = &azureMLLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amls.AdditionalProperties == nil { + amls.AdditionalProperties = make(map[string]interface{}) + } + amls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + amls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amls.Type = typeVar + } + } + } + + return nil +} + +// AzureMLLinkedServiceTypeProperties azure ML Studio Web Service linked service properties. +type AzureMLLinkedServiceTypeProperties struct { + // MlEndpoint - The Batch Execution REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string). + MlEndpoint interface{} `json:"mlEndpoint,omitempty"` + // APIKey - The API key for accessing the Azure ML model endpoint. + APIKey BasicSecretBase `json:"apiKey,omitempty"` + // UpdateResourceEndpoint - The Update Resource REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string). + UpdateResourceEndpoint interface{} `json:"updateResourceEndpoint,omitempty"` + // 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). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedServiceTypeProperties struct. +func (amlstp *AzureMLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "mlEndpoint": + if v != nil { + var mlEndpoint interface{} + err = json.Unmarshal(*v, &mlEndpoint) + if err != nil { + return err + } + amlstp.MlEndpoint = mlEndpoint + } + case "apiKey": + if v != nil { + APIKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + amlstp.APIKey = APIKey + } + case "updateResourceEndpoint": + if v != nil { + var updateResourceEndpoint interface{} + err = json.Unmarshal(*v, &updateResourceEndpoint) + if err != nil { + return err + } + amlstp.UpdateResourceEndpoint = updateResourceEndpoint + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + amlstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + amlstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + amlstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + amlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureMLServiceLinkedService azure ML Service linked service. +type AzureMLServiceLinkedService struct { + // AzureMLServiceLinkedServiceTypeProperties - Azure ML Service linked service properties. + *AzureMLServiceLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) MarshalJSON() ([]byte, error) { + amsls.Type = TypeAzureMLService + objectMap := make(map[string]interface{}) + if amsls.AzureMLServiceLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = amsls.AzureMLServiceLinkedServiceTypeProperties + } + if amsls.ConnectVia != nil { + objectMap["connectVia"] = amsls.ConnectVia + } + if amsls.Description != nil { + objectMap["description"] = amsls.Description + } + if amsls.Parameters != nil { + objectMap["parameters"] = amsls.Parameters + } + if amsls.Annotations != nil { + objectMap["annotations"] = amsls.Annotations + } + if amsls.Type != "" { + objectMap["type"] = amsls.Type + } + for k, v := range amsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return &amsls, true +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &amsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLServiceLinkedService struct. +func (amsls *AzureMLServiceLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMLServiceLinkedServiceTypeProperties AzureMLServiceLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureMLServiceLinkedServiceTypeProperties) + if err != nil { + return err + } + amsls.AzureMLServiceLinkedServiceTypeProperties = &azureMLServiceLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amsls.AdditionalProperties == nil { + amsls.AdditionalProperties = make(map[string]interface{}) + } + amsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + amsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amsls.Type = typeVar + } + } + } + + return nil +} + +// AzureMLServiceLinkedServiceTypeProperties azure ML Service linked service properties. +type AzureMLServiceLinkedServiceTypeProperties struct { + // SubscriptionID - Azure ML Service workspace subscription ID. Type: string (or Expression with resultType string). + SubscriptionID interface{} `json:"subscriptionId,omitempty"` + // ResourceGroupName - Azure ML Service workspace resource group name. Type: string (or Expression with resultType string). + ResourceGroupName interface{} `json:"resourceGroupName,omitempty"` + // MlWorkspaceName - Azure ML Service workspace name. Type: string (or Expression with resultType string). + MlWorkspaceName interface{} `json:"mlWorkspaceName,omitempty"` + // 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). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLServiceLinkedServiceTypeProperties struct. +func (amslstp *AzureMLServiceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "subscriptionId": + if v != nil { + var subscriptionID interface{} + err = json.Unmarshal(*v, &subscriptionID) + if err != nil { + return err + } + amslstp.SubscriptionID = subscriptionID + } + case "resourceGroupName": + if v != nil { + var resourceGroupName interface{} + err = json.Unmarshal(*v, &resourceGroupName) + if err != nil { + return err + } + amslstp.ResourceGroupName = resourceGroupName + } + case "mlWorkspaceName": + if v != nil { + var mlWorkspaceName interface{} + err = json.Unmarshal(*v, &mlWorkspaceName) + if err != nil { + return err + } + amslstp.MlWorkspaceName = mlWorkspaceName + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + amslstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + amslstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + amslstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + amslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureMLUpdateResourceActivity azure ML Update Resource management activity. +type AzureMLUpdateResourceActivity struct { + // AzureMLUpdateResourceActivityTypeProperties - Azure ML Update Resource management activity properties. + *AzureMLUpdateResourceActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) MarshalJSON() ([]byte, error) { + amura.Type = TypeAzureMLUpdateResource + objectMap := make(map[string]interface{}) + if amura.AzureMLUpdateResourceActivityTypeProperties != nil { + objectMap["typeProperties"] = amura.AzureMLUpdateResourceActivityTypeProperties + } + if amura.LinkedServiceName != nil { + objectMap["linkedServiceName"] = amura.LinkedServiceName + } + if amura.Policy != nil { + objectMap["policy"] = amura.Policy + } + if amura.Name != nil { + objectMap["name"] = amura.Name + } + if amura.Description != nil { + objectMap["description"] = amura.Description + } + if amura.DependsOn != nil { + objectMap["dependsOn"] = amura.DependsOn + } + if amura.UserProperties != nil { + objectMap["userProperties"] = amura.UserProperties + } + if amura.Type != "" { + objectMap["type"] = amura.Type + } + for k, v := range amura.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return &amura, true +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &amura, true +} + +// AsWebHookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsBasicActivity() (BasicActivity, bool) { + return &amura, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLUpdateResourceActivity struct. +func (amura *AzureMLUpdateResourceActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMLUpdateResourceActivityTypeProperties AzureMLUpdateResourceActivityTypeProperties + err = json.Unmarshal(*v, &azureMLUpdateResourceActivityTypeProperties) + if err != nil { + return err + } + amura.AzureMLUpdateResourceActivityTypeProperties = &azureMLUpdateResourceActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + amura.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + amura.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amura.AdditionalProperties == nil { + amura.AdditionalProperties = make(map[string]interface{}) + } + amura.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + amura.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amura.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + amura.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + amura.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amura.Type = typeVar + } + } + } + + return nil +} + +// AzureMLUpdateResourceActivityTypeProperties azure ML Update Resource activity properties. +type AzureMLUpdateResourceActivityTypeProperties struct { + // TrainedModelName - Name of the Trained Model module in the Web Service experiment to be updated. Type: string (or Expression with resultType string). + TrainedModelName interface{} `json:"trainedModelName,omitempty"` + // TrainedModelLinkedServiceName - Name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation. + TrainedModelLinkedServiceName *LinkedServiceReference `json:"trainedModelLinkedServiceName,omitempty"` + // 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). + TrainedModelFilePath interface{} `json:"trainedModelFilePath,omitempty"` +} + +// AzureMLWebServiceFile azure ML WebService Input/Output file +type AzureMLWebServiceFile struct { + // FilePath - The relative file path, including container name, in the Azure Blob Storage specified by the LinkedService. Type: string (or Expression with resultType string). + FilePath interface{} `json:"filePath,omitempty"` + // LinkedServiceName - Reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` +} + +// AzureMySQLLinkedService azure MySQL database linked service. +type AzureMySQLLinkedService struct { + // AzureMySQLLinkedServiceTypeProperties - Azure MySQL database linked service properties. + *AzureMySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) MarshalJSON() ([]byte, error) { + amsls.Type = TypeAzureMySQL + objectMap := make(map[string]interface{}) + if amsls.AzureMySQLLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = amsls.AzureMySQLLinkedServiceTypeProperties + } + if amsls.ConnectVia != nil { + objectMap["connectVia"] = amsls.ConnectVia + } + if amsls.Description != nil { + objectMap["description"] = amsls.Description + } + if amsls.Parameters != nil { + objectMap["parameters"] = amsls.Parameters + } + if amsls.Annotations != nil { + objectMap["annotations"] = amsls.Annotations + } + if amsls.Type != "" { + objectMap["type"] = amsls.Type + } + for k, v := range amsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return &amsls, true +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &amsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMySQLLinkedService struct. +func (amsls *AzureMySQLLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMySQLLinkedServiceTypeProperties AzureMySQLLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureMySQLLinkedServiceTypeProperties) + if err != nil { + return err + } + amsls.AzureMySQLLinkedServiceTypeProperties = &azureMySQLLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amsls.AdditionalProperties == nil { + amsls.AdditionalProperties = make(map[string]interface{}) + } + amsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + amsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amsls.Type = typeVar + } + } + } + + return nil +} + +// AzureMySQLLinkedServiceTypeProperties azure MySQL database linked service properties. +type AzureMySQLLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// AzureMySQLSink a copy activity Azure MySql sink. +type AzureMySQLSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMySQLSink. +func (amss AzureMySQLSink) MarshalJSON() ([]byte, error) { + amss.Type = TypeAzureMySQLSink + objectMap := make(map[string]interface{}) + if amss.PreCopyScript != nil { + objectMap["preCopyScript"] = amss.PreCopyScript + } + if amss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = amss.WriteBatchSize + } + if amss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = amss.WriteBatchTimeout + } + if amss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = amss.SinkRetryCount + } + if amss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = amss.SinkRetryWait + } + if amss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = amss.MaxConcurrentConnections + } + if amss.Type != "" { + objectMap["type"] = amss.Type + } + for k, v := range amss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return &amss, true +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsBasicCopySink() (BasicCopySink, bool) { + return &amss, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMySQLSink struct. +func (amss *AzureMySQLSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + amss.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amss.AdditionalProperties == nil { + amss.AdditionalProperties = make(map[string]interface{}) + } + amss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + amss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + amss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + amss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + amss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + amss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amss.Type = typeVar + } + } + } + + return nil +} + +// AzureMySQLSource a copy activity Azure MySQL source. +type AzureMySQLSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMySQLSource. +func (amss AzureMySQLSource) MarshalJSON() ([]byte, error) { + amss.Type = TypeAzureMySQLSource + objectMap := make(map[string]interface{}) + if amss.Query != nil { + objectMap["query"] = amss.Query + } + if amss.QueryTimeout != nil { + objectMap["queryTimeout"] = amss.QueryTimeout + } + if amss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = amss.SourceRetryCount + } + if amss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = amss.SourceRetryWait + } + if amss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = amss.MaxConcurrentConnections + } + if amss.Type != "" { + objectMap["type"] = amss.Type + } + for k, v := range amss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return &amss, true +} + +// AsSQLDWSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &amss, true +} + +// AsBinarySource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsBasicCopySource() (BasicCopySource, bool) { + return &amss, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMySQLSource struct. +func (amss *AzureMySQLSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + amss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + amss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amss.AdditionalProperties == nil { + amss.AdditionalProperties = make(map[string]interface{}) + } + amss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + amss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + amss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + amss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amss.Type = typeVar + } + } + } + + return nil +} + +// AzureMySQLTableDataset the Azure MySQL database dataset. +type AzureMySQLTableDataset struct { + // AzureMySQLTableDatasetTypeProperties - Azure MySQL database dataset properties. + *AzureMySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) MarshalJSON() ([]byte, error) { + amstd.Type = TypeAzureMySQLTable + objectMap := make(map[string]interface{}) + if amstd.AzureMySQLTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = amstd.AzureMySQLTableDatasetTypeProperties + } + if amstd.Description != nil { + objectMap["description"] = amstd.Description + } + if amstd.Structure != nil { + objectMap["structure"] = amstd.Structure + } + if amstd.Schema != nil { + objectMap["schema"] = amstd.Schema + } + if amstd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = amstd.LinkedServiceName + } + if amstd.Parameters != nil { + objectMap["parameters"] = amstd.Parameters + } + if amstd.Annotations != nil { + objectMap["annotations"] = amstd.Annotations + } + if amstd.Folder != nil { + objectMap["folder"] = amstd.Folder + } + if amstd.Type != "" { + objectMap["type"] = amstd.Type + } + for k, v := range amstd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return &amstd, true +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &amstd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMySQLTableDataset struct. +func (amstd *AzureMySQLTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMySQLTableDatasetTypeProperties AzureMySQLTableDatasetTypeProperties + err = json.Unmarshal(*v, &azureMySQLTableDatasetTypeProperties) + if err != nil { + return err + } + amstd.AzureMySQLTableDatasetTypeProperties = &azureMySQLTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amstd.AdditionalProperties == nil { + amstd.AdditionalProperties = make(map[string]interface{}) + } + amstd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amstd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + amstd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + amstd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + amstd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amstd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amstd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + amstd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amstd.Type = typeVar + } + } + } + + return nil +} + +// AzureMySQLTableDatasetTypeProperties azure MySQL database dataset properties. +type AzureMySQLTableDatasetTypeProperties struct { + // TableName - The Azure MySQL database table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` + // Table - The name of Azure MySQL database table. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// AzurePostgreSQLLinkedService azure PostgreSQL linked service. +type AzurePostgreSQLLinkedService struct { + // AzurePostgreSQLLinkedServiceTypeProperties - Azure PostgreSQL linked service properties. + *AzurePostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) MarshalJSON() ([]byte, error) { + apsls.Type = TypeAzurePostgreSQL + objectMap := make(map[string]interface{}) + if apsls.AzurePostgreSQLLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = apsls.AzurePostgreSQLLinkedServiceTypeProperties + } + if apsls.ConnectVia != nil { + objectMap["connectVia"] = apsls.ConnectVia + } + if apsls.Description != nil { + objectMap["description"] = apsls.Description + } + if apsls.Parameters != nil { + objectMap["parameters"] = apsls.Parameters + } + if apsls.Annotations != nil { + objectMap["annotations"] = apsls.Annotations + } + if apsls.Type != "" { + objectMap["type"] = apsls.Type + } + for k, v := range apsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return &apsls, true +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &apsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLLinkedService struct. +func (apsls *AzurePostgreSQLLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azurePostgreSQLLinkedServiceTypeProperties AzurePostgreSQLLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azurePostgreSQLLinkedServiceTypeProperties) + if err != nil { + return err + } + apsls.AzurePostgreSQLLinkedServiceTypeProperties = &azurePostgreSQLLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if apsls.AdditionalProperties == nil { + apsls.AdditionalProperties = make(map[string]interface{}) + } + apsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + apsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + apsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + apsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + apsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + apsls.Type = typeVar + } + } + } + + return nil +} + +// AzurePostgreSQLLinkedServiceTypeProperties azure PostgreSQL linked service properties. +type AzurePostgreSQLLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// AzurePostgreSQLSink a copy activity Azure PostgreSQL sink. +type AzurePostgreSQLSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) MarshalJSON() ([]byte, error) { + apss.Type = TypeAzurePostgreSQLSink + objectMap := make(map[string]interface{}) + if apss.PreCopyScript != nil { + objectMap["preCopyScript"] = apss.PreCopyScript + } + if apss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = apss.WriteBatchSize + } + if apss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = apss.WriteBatchTimeout + } + if apss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = apss.SinkRetryCount + } + if apss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = apss.SinkRetryWait + } + if apss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = apss.MaxConcurrentConnections + } + if apss.Type != "" { + objectMap["type"] = apss.Type + } + for k, v := range apss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return &apss, true +} + +// AsOrcSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsBasicCopySink() (BasicCopySink, bool) { + return &apss, true +} + +// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSink struct. +func (apss *AzurePostgreSQLSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + apss.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if apss.AdditionalProperties == nil { + apss.AdditionalProperties = make(map[string]interface{}) + } + apss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + apss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + apss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + apss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + apss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + apss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + apss.Type = typeVar + } + } + } + + return nil +} + +// AzurePostgreSQLSource a copy activity Azure PostgreSQL source. +type AzurePostgreSQLSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) MarshalJSON() ([]byte, error) { + apss.Type = TypeAzurePostgreSQLSource + objectMap := make(map[string]interface{}) + if apss.Query != nil { + objectMap["query"] = apss.Query + } + if apss.QueryTimeout != nil { + objectMap["queryTimeout"] = apss.QueryTimeout + } + if apss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = apss.SourceRetryCount + } + if apss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = apss.SourceRetryWait + } + if apss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = apss.MaxConcurrentConnections + } + if apss.Type != "" { + objectMap["type"] = apss.Type + } + for k, v := range apss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return &apss, true +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &apss, true +} + +// AsBinarySource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) { + return &apss, true +} + +// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSource struct. +func (apss *AzurePostgreSQLSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + apss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + apss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if apss.AdditionalProperties == nil { + apss.AdditionalProperties = make(map[string]interface{}) + } + apss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + apss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + apss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + apss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + apss.Type = typeVar + } + } + } + + return nil +} + +// AzurePostgreSQLTableDataset azure PostgreSQL dataset. +type AzurePostgreSQLTableDataset struct { + // AzurePostgreSQLTableDatasetTypeProperties - Properties specific to this dataset type. + *AzurePostgreSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) MarshalJSON() ([]byte, error) { + apstd.Type = TypeAzurePostgreSQLTable + objectMap := make(map[string]interface{}) + if apstd.AzurePostgreSQLTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = apstd.AzurePostgreSQLTableDatasetTypeProperties + } + if apstd.Description != nil { + objectMap["description"] = apstd.Description + } + if apstd.Structure != nil { + objectMap["structure"] = apstd.Structure + } + if apstd.Schema != nil { + objectMap["schema"] = apstd.Schema + } + if apstd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = apstd.LinkedServiceName + } + if apstd.Parameters != nil { + objectMap["parameters"] = apstd.Parameters + } + if apstd.Annotations != nil { + objectMap["annotations"] = apstd.Annotations + } + if apstd.Folder != nil { + objectMap["folder"] = apstd.Folder + } + if apstd.Type != "" { + objectMap["type"] = apstd.Type + } + for k, v := range apstd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return &apstd, true +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &apstd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLTableDataset struct. +func (apstd *AzurePostgreSQLTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azurePostgreSQLTableDatasetTypeProperties AzurePostgreSQLTableDatasetTypeProperties + err = json.Unmarshal(*v, &azurePostgreSQLTableDatasetTypeProperties) + if err != nil { + return err + } + apstd.AzurePostgreSQLTableDatasetTypeProperties = &azurePostgreSQLTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if apstd.AdditionalProperties == nil { + apstd.AdditionalProperties = make(map[string]interface{}) + } + apstd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + apstd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + apstd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + apstd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + apstd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + apstd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + apstd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + apstd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + apstd.Type = typeVar + } + } + } + + return nil +} + +// AzurePostgreSQLTableDatasetTypeProperties azure PostgreSQL dataset properties. +type AzurePostgreSQLTableDatasetTypeProperties struct { + // TableName - The table name of the Azure PostgreSQL database which includes both schema and table. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Azure PostgreSQL database. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Azure PostgreSQL database. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// AzureQueueSink a copy activity Azure Queue sink. +type AzureQueueSink struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureQueueSink. +func (aqs AzureQueueSink) MarshalJSON() ([]byte, error) { + aqs.Type = TypeAzureQueueSink + objectMap := make(map[string]interface{}) + if aqs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = aqs.WriteBatchSize + } + if aqs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = aqs.WriteBatchTimeout + } + if aqs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = aqs.SinkRetryCount + } + if aqs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = aqs.SinkRetryWait + } + if aqs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = aqs.MaxConcurrentConnections + } + if aqs.Type != "" { + objectMap["type"] = aqs.Type + } + for k, v := range aqs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return &aqs, true +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsBasicCopySink() (BasicCopySink, bool) { + return &aqs, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureQueueSink struct. +func (aqs *AzureQueueSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if aqs.AdditionalProperties == nil { + aqs.AdditionalProperties = make(map[string]interface{}) + } + aqs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + aqs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + aqs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + aqs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + aqs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + aqs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + aqs.Type = typeVar + } + } + } + + return nil +} + +// AzureSearchIndexDataset the Azure Search Index. +type AzureSearchIndexDataset struct { + // AzureSearchIndexDatasetTypeProperties - Properties specific to this dataset type. + *AzureSearchIndexDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) MarshalJSON() ([]byte, error) { + asid.Type = TypeAzureSearchIndex + objectMap := make(map[string]interface{}) + if asid.AzureSearchIndexDatasetTypeProperties != nil { + objectMap["typeProperties"] = asid.AzureSearchIndexDatasetTypeProperties + } + if asid.Description != nil { + objectMap["description"] = asid.Description + } + if asid.Structure != nil { + objectMap["structure"] = asid.Structure + } + if asid.Schema != nil { + objectMap["schema"] = asid.Schema + } + if asid.LinkedServiceName != nil { + objectMap["linkedServiceName"] = asid.LinkedServiceName + } + if asid.Parameters != nil { + objectMap["parameters"] = asid.Parameters + } + if asid.Annotations != nil { + objectMap["annotations"] = asid.Annotations + } + if asid.Folder != nil { + objectMap["folder"] = asid.Folder + } + if asid.Type != "" { + objectMap["type"] = asid.Type + } + for k, v := range asid.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return &asid, true +} + +// AsWebTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsBasicDataset() (BasicDataset, bool) { + return &asid, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexDataset struct. +func (asid *AzureSearchIndexDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSearchIndexDatasetTypeProperties AzureSearchIndexDatasetTypeProperties + err = json.Unmarshal(*v, &azureSearchIndexDatasetTypeProperties) + if err != nil { + return err + } + asid.AzureSearchIndexDatasetTypeProperties = &azureSearchIndexDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asid.AdditionalProperties == nil { + asid.AdditionalProperties = make(map[string]interface{}) + } + asid.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asid.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + asid.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + asid.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + asid.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asid.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asid.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + asid.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asid.Type = typeVar + } + } + } + + return nil +} + +// AzureSearchIndexDatasetTypeProperties properties specific to this dataset type. +type AzureSearchIndexDatasetTypeProperties struct { + // IndexName - The name of the Azure Search Index. Type: string (or Expression with resultType string). + IndexName interface{} `json:"indexName,omitempty"` +} + +// AzureSearchIndexSink a copy activity Azure Search Index sink. +type AzureSearchIndexSink struct { + // WriteBehavior - Specify the write behavior when upserting documents into Azure Search Index. Possible values include: 'Merge', 'Upload' + WriteBehavior AzureSearchIndexWriteBehaviorType `json:"writeBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) MarshalJSON() ([]byte, error) { + asis.Type = TypeAzureSearchIndexSink + objectMap := make(map[string]interface{}) + if asis.WriteBehavior != "" { + objectMap["writeBehavior"] = asis.WriteBehavior + } + if asis.WriteBatchSize != nil { + objectMap["writeBatchSize"] = asis.WriteBatchSize + } + if asis.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = asis.WriteBatchTimeout + } + if asis.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = asis.SinkRetryCount + } + if asis.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = asis.SinkRetryWait + } + if asis.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = asis.MaxConcurrentConnections + } + if asis.Type != "" { + objectMap["type"] = asis.Type + } + for k, v := range asis.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return &asis, true +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsBasicCopySink() (BasicCopySink, bool) { + return &asis, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexSink struct. +func (asis *AzureSearchIndexSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior AzureSearchIndexWriteBehaviorType + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + asis.WriteBehavior = writeBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asis.AdditionalProperties == nil { + asis.AdditionalProperties = make(map[string]interface{}) + } + asis.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + asis.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + asis.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + asis.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + asis.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + asis.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asis.Type = typeVar + } + } + } + + return nil +} + +// AzureSearchLinkedService linked service for Windows Azure Search Service. +type AzureSearchLinkedService struct { + // AzureSearchLinkedServiceTypeProperties - Windows Azure Search Service linked service properties. + *AzureSearchLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) MarshalJSON() ([]byte, error) { + asls.Type = TypeAzureSearch + objectMap := make(map[string]interface{}) + if asls.AzureSearchLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = asls.AzureSearchLinkedServiceTypeProperties + } + if asls.ConnectVia != nil { + objectMap["connectVia"] = asls.ConnectVia + } + if asls.Description != nil { + objectMap["description"] = asls.Description + } + if asls.Parameters != nil { + objectMap["parameters"] = asls.Parameters + } + if asls.Annotations != nil { + objectMap["annotations"] = asls.Annotations + } + if asls.Type != "" { + objectMap["type"] = asls.Type + } + for k, v := range asls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return &asls, true +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &asls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedService struct. +func (asls *AzureSearchLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSearchLinkedServiceTypeProperties AzureSearchLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureSearchLinkedServiceTypeProperties) + if err != nil { + return err + } + asls.AzureSearchLinkedServiceTypeProperties = &azureSearchLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asls.AdditionalProperties == nil { + asls.AdditionalProperties = make(map[string]interface{}) + } + asls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + asls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asls.Type = typeVar + } + } + } + + return nil +} + +// AzureSearchLinkedServiceTypeProperties windows Azure Search Service linked service properties. +type AzureSearchLinkedServiceTypeProperties struct { + // URL - URL for Azure Search service. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // Key - Admin Key for Azure Search service + Key BasicSecretBase `json:"key,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedServiceTypeProperties struct. +func (aslstp *AzureSearchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + aslstp.URL = URL + } + case "key": + if v != nil { + key, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + aslstp.Key = key + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + aslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureSQLDatabaseLinkedService microsoft Azure SQL Database linked service. +type AzureSQLDatabaseLinkedService struct { + // AzureSQLDatabaseLinkedServiceTypeProperties - Azure SQL Database linked service properties. + *AzureSQLDatabaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) MarshalJSON() ([]byte, error) { + asdls.Type = TypeAzureSQLDatabase + objectMap := make(map[string]interface{}) + if asdls.AzureSQLDatabaseLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = asdls.AzureSQLDatabaseLinkedServiceTypeProperties + } + if asdls.ConnectVia != nil { + objectMap["connectVia"] = asdls.ConnectVia + } + if asdls.Description != nil { + objectMap["description"] = asdls.Description + } + if asdls.Parameters != nil { + objectMap["parameters"] = asdls.Parameters + } + if asdls.Annotations != nil { + objectMap["annotations"] = asdls.Annotations + } + if asdls.Type != "" { + objectMap["type"] = asdls.Type + } + for k, v := range asdls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return &asdls, true +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &asdls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedService struct. +func (asdls *AzureSQLDatabaseLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSQLDatabaseLinkedServiceTypeProperties AzureSQLDatabaseLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureSQLDatabaseLinkedServiceTypeProperties) + if err != nil { + return err + } + asdls.AzureSQLDatabaseLinkedServiceTypeProperties = &azureSQLDatabaseLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asdls.AdditionalProperties == nil { + asdls.AdditionalProperties = make(map[string]interface{}) + } + asdls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + asdls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asdls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asdls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asdls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asdls.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLDatabaseLinkedServiceTypeProperties azure SQL Database linked service properties. +type AzureSQLDatabaseLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Database. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedServiceTypeProperties struct. +func (asdlstp *AzureSQLDatabaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + asdlstp.ConnectionString = connectionString + } + case "password": + if v != nil { + var password AzureKeyVaultSecretReference + err = json.Unmarshal(*v, &password) + if err != nil { + return err + } + asdlstp.Password = &password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + asdlstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + asdlstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + asdlstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + asdlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureSQLDWLinkedService azure SQL Data Warehouse linked service. +type AzureSQLDWLinkedService struct { + // AzureSQLDWLinkedServiceTypeProperties - Azure SQL Data Warehouse linked service properties. + *AzureSQLDWLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) MarshalJSON() ([]byte, error) { + asdls.Type = TypeAzureSQLDW + objectMap := make(map[string]interface{}) + if asdls.AzureSQLDWLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = asdls.AzureSQLDWLinkedServiceTypeProperties + } + if asdls.ConnectVia != nil { + objectMap["connectVia"] = asdls.ConnectVia + } + if asdls.Description != nil { + objectMap["description"] = asdls.Description + } + if asdls.Parameters != nil { + objectMap["parameters"] = asdls.Parameters + } + if asdls.Annotations != nil { + objectMap["annotations"] = asdls.Annotations + } + if asdls.Type != "" { + objectMap["type"] = asdls.Type + } + for k, v := range asdls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return &asdls, true +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &asdls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedService struct. +func (asdls *AzureSQLDWLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSQLDWLinkedServiceTypeProperties AzureSQLDWLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureSQLDWLinkedServiceTypeProperties) + if err != nil { + return err + } + asdls.AzureSQLDWLinkedServiceTypeProperties = &azureSQLDWLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asdls.AdditionalProperties == nil { + asdls.AdditionalProperties = make(map[string]interface{}) + } + asdls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + asdls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asdls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asdls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asdls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asdls.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLDWLinkedServiceTypeProperties azure SQL Data Warehouse linked service properties. +type AzureSQLDWLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedServiceTypeProperties struct. +func (asdlstp *AzureSQLDWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + asdlstp.ConnectionString = connectionString + } + case "password": + if v != nil { + var password AzureKeyVaultSecretReference + err = json.Unmarshal(*v, &password) + if err != nil { + return err + } + asdlstp.Password = &password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + asdlstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + asdlstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + asdlstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + asdlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureSQLDWTableDataset the Azure SQL Data Warehouse dataset. +type AzureSQLDWTableDataset struct { + // AzureSQLDWTableDatasetTypeProperties - Azure SQL Data Warehouse dataset properties. + *AzureSQLDWTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) MarshalJSON() ([]byte, error) { + asdtd.Type = TypeAzureSQLDWTable + objectMap := make(map[string]interface{}) + if asdtd.AzureSQLDWTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = asdtd.AzureSQLDWTableDatasetTypeProperties + } + if asdtd.Description != nil { + objectMap["description"] = asdtd.Description + } + if asdtd.Structure != nil { + objectMap["structure"] = asdtd.Structure + } + if asdtd.Schema != nil { + objectMap["schema"] = asdtd.Schema + } + if asdtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = asdtd.LinkedServiceName + } + if asdtd.Parameters != nil { + objectMap["parameters"] = asdtd.Parameters + } + if asdtd.Annotations != nil { + objectMap["annotations"] = asdtd.Annotations + } + if asdtd.Folder != nil { + objectMap["folder"] = asdtd.Folder + } + if asdtd.Type != "" { + objectMap["type"] = asdtd.Type + } + for k, v := range asdtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return &asdtd, true +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &asdtd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLDWTableDataset struct. +func (asdtd *AzureSQLDWTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSQLDWTableDatasetTypeProperties AzureSQLDWTableDatasetTypeProperties + err = json.Unmarshal(*v, &azureSQLDWTableDatasetTypeProperties) + if err != nil { + return err + } + asdtd.AzureSQLDWTableDatasetTypeProperties = &azureSQLDWTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asdtd.AdditionalProperties == nil { + asdtd.AdditionalProperties = make(map[string]interface{}) + } + asdtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asdtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + asdtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + asdtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + asdtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asdtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asdtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + asdtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asdtd.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLDWTableDatasetTypeProperties azure SQL Data Warehouse dataset properties. +type AzureSQLDWTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The schema name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The table name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// AzureSQLMILinkedService azure SQL Managed Instance linked service. +type AzureSQLMILinkedService struct { + // AzureSQLMILinkedServiceTypeProperties - Azure SQL Managed Instance linked service properties. + *AzureSQLMILinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) MarshalJSON() ([]byte, error) { + asmls.Type = TypeAzureSQLMI + objectMap := make(map[string]interface{}) + if asmls.AzureSQLMILinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = asmls.AzureSQLMILinkedServiceTypeProperties + } + if asmls.ConnectVia != nil { + objectMap["connectVia"] = asmls.ConnectVia + } + if asmls.Description != nil { + objectMap["description"] = asmls.Description + } + if asmls.Parameters != nil { + objectMap["parameters"] = asmls.Parameters + } + if asmls.Annotations != nil { + objectMap["annotations"] = asmls.Annotations + } + if asmls.Type != "" { + objectMap["type"] = asmls.Type + } + for k, v := range asmls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return &asmls, true +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &asmls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLMILinkedService struct. +func (asmls *AzureSQLMILinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSQLMILinkedServiceTypeProperties AzureSQLMILinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureSQLMILinkedServiceTypeProperties) + if err != nil { + return err + } + asmls.AzureSQLMILinkedServiceTypeProperties = &azureSQLMILinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asmls.AdditionalProperties == nil { + asmls.AdditionalProperties = make(map[string]interface{}) + } + asmls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + asmls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asmls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asmls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asmls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asmls.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLMILinkedServiceTypeProperties azure SQL Managed Instance linked service properties. +type AzureSQLMILinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Managed Instance. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Managed Instance. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLMILinkedServiceTypeProperties struct. +func (asmlstp *AzureSQLMILinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + asmlstp.ConnectionString = connectionString + } + case "password": + if v != nil { + var password AzureKeyVaultSecretReference + err = json.Unmarshal(*v, &password) + if err != nil { + return err + } + asmlstp.Password = &password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + asmlstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + asmlstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + asmlstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + asmlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureSQLMITableDataset the Azure SQL Managed Instance dataset. +type AzureSQLMITableDataset struct { + // AzureSQLMITableDatasetTypeProperties - Azure SQL Managed Instance dataset properties. + *AzureSQLMITableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) MarshalJSON() ([]byte, error) { + asmtd.Type = TypeAzureSQLMITable + objectMap := make(map[string]interface{}) + if asmtd.AzureSQLMITableDatasetTypeProperties != nil { + objectMap["typeProperties"] = asmtd.AzureSQLMITableDatasetTypeProperties + } + if asmtd.Description != nil { + objectMap["description"] = asmtd.Description + } + if asmtd.Structure != nil { + objectMap["structure"] = asmtd.Structure + } + if asmtd.Schema != nil { + objectMap["schema"] = asmtd.Schema + } + if asmtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = asmtd.LinkedServiceName + } + if asmtd.Parameters != nil { + objectMap["parameters"] = asmtd.Parameters + } + if asmtd.Annotations != nil { + objectMap["annotations"] = asmtd.Annotations + } + if asmtd.Folder != nil { + objectMap["folder"] = asmtd.Folder + } + if asmtd.Type != "" { + objectMap["type"] = asmtd.Type + } + for k, v := range asmtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return &asmtd, true +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsBasicDataset() (BasicDataset, bool) { + return &asmtd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLMITableDataset struct. +func (asmtd *AzureSQLMITableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSQLMITableDatasetTypeProperties AzureSQLMITableDatasetTypeProperties + err = json.Unmarshal(*v, &azureSQLMITableDatasetTypeProperties) + if err != nil { + return err + } + asmtd.AzureSQLMITableDatasetTypeProperties = &azureSQLMITableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asmtd.AdditionalProperties == nil { + asmtd.AdditionalProperties = make(map[string]interface{}) + } + asmtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asmtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + asmtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + asmtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + asmtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asmtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asmtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + asmtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asmtd.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLMITableDatasetTypeProperties azure SQL Managed Instance dataset properties. +type AzureSQLMITableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The schema name of the Azure SQL Managed Instance. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The table name of the Azure SQL Managed Instance dataset. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// AzureSQLSink a copy activity Azure SQL sink. +type AzureSQLSink struct { + // SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string). + SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"` + // SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string). + SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"` + // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // StoredProcedureParameters - SQL stored procedure parameters. + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). + StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLSink. +func (ass AzureSQLSink) MarshalJSON() ([]byte, error) { + ass.Type = TypeAzureSQLSink + objectMap := make(map[string]interface{}) + if ass.SQLWriterStoredProcedureName != nil { + objectMap["sqlWriterStoredProcedureName"] = ass.SQLWriterStoredProcedureName + } + if ass.SQLWriterTableType != nil { + objectMap["sqlWriterTableType"] = ass.SQLWriterTableType + } + if ass.PreCopyScript != nil { + objectMap["preCopyScript"] = ass.PreCopyScript + } + if ass.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = ass.StoredProcedureParameters + } + if ass.StoredProcedureTableTypeParameterName != nil { + objectMap["storedProcedureTableTypeParameterName"] = ass.StoredProcedureTableTypeParameterName + } + if ass.TableOption != nil { + objectMap["tableOption"] = ass.TableOption + } + if ass.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ass.WriteBatchSize + } + if ass.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ass.WriteBatchTimeout + } + if ass.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ass.SinkRetryCount + } + if ass.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ass.SinkRetryWait + } + if ass.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ass.MaxConcurrentConnections + } + if ass.Type != "" { + objectMap["type"] = ass.Type + } + for k, v := range ass.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return &ass, true +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ass, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLSink struct. +func (ass *AzureSQLSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlWriterStoredProcedureName": + if v != nil { + var SQLWriterStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLWriterStoredProcedureName) + if err != nil { + return err + } + ass.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName + } + case "sqlWriterTableType": + if v != nil { + var SQLWriterTableType interface{} + err = json.Unmarshal(*v, &SQLWriterTableType) + if err != nil { + return err + } + ass.SQLWriterTableType = SQLWriterTableType + } + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + ass.PreCopyScript = preCopyScript + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + ass.StoredProcedureParameters = storedProcedureParameters + } + case "storedProcedureTableTypeParameterName": + if v != nil { + var storedProcedureTableTypeParameterName interface{} + err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName) + if err != nil { + return err + } + ass.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName + } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + ass.TableOption = tableOption + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ass.AdditionalProperties == nil { + ass.AdditionalProperties = make(map[string]interface{}) + } + ass.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ass.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ass.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ass.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ass.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ass.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ass.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLSource a copy activity Azure SQL source. +type AzureSQLSource struct { + // SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string). + SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"` + // 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). + SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"` + // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // ProduceAdditionalTypes - Which additional types to produce. + ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLSource. +func (ass AzureSQLSource) MarshalJSON() ([]byte, error) { + ass.Type = TypeAzureSQLSource + objectMap := make(map[string]interface{}) + if ass.SQLReaderQuery != nil { + objectMap["sqlReaderQuery"] = ass.SQLReaderQuery + } + if ass.SQLReaderStoredProcedureName != nil { + objectMap["sqlReaderStoredProcedureName"] = ass.SQLReaderStoredProcedureName + } + if ass.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = ass.StoredProcedureParameters + } + if ass.ProduceAdditionalTypes != nil { + objectMap["produceAdditionalTypes"] = ass.ProduceAdditionalTypes + } + if ass.QueryTimeout != nil { + objectMap["queryTimeout"] = ass.QueryTimeout + } + if ass.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ass.SourceRetryCount + } + if ass.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ass.SourceRetryWait + } + if ass.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ass.MaxConcurrentConnections + } + if ass.Type != "" { + objectMap["type"] = ass.Type + } + for k, v := range ass.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return &ass, true +} + +// AsSQLServerSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ass, true +} + +// AsBinarySource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ass, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLSource struct. +func (ass *AzureSQLSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlReaderQuery": + if v != nil { + var SQLReaderQuery interface{} + err = json.Unmarshal(*v, &SQLReaderQuery) + if err != nil { + return err + } + ass.SQLReaderQuery = SQLReaderQuery + } + case "sqlReaderStoredProcedureName": + if v != nil { + var SQLReaderStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLReaderStoredProcedureName) + if err != nil { + return err + } + ass.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + ass.StoredProcedureParameters = storedProcedureParameters + } + case "produceAdditionalTypes": + if v != nil { + var produceAdditionalTypes interface{} + err = json.Unmarshal(*v, &produceAdditionalTypes) + if err != nil { + return err + } + ass.ProduceAdditionalTypes = produceAdditionalTypes + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ass.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ass.AdditionalProperties == nil { + ass.AdditionalProperties = make(map[string]interface{}) + } + ass.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ass.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ass.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ass.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ass.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLTableDataset the Azure SQL Server database dataset. +type AzureSQLTableDataset struct { + // AzureSQLTableDatasetTypeProperties - Azure SQL dataset properties. + *AzureSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) MarshalJSON() ([]byte, error) { + astd.Type = TypeAzureSQLTable + objectMap := make(map[string]interface{}) + if astd.AzureSQLTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = astd.AzureSQLTableDatasetTypeProperties + } + if astd.Description != nil { + objectMap["description"] = astd.Description + } + if astd.Structure != nil { + objectMap["structure"] = astd.Structure + } + if astd.Schema != nil { + objectMap["schema"] = astd.Schema + } + if astd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = astd.LinkedServiceName + } + if astd.Parameters != nil { + objectMap["parameters"] = astd.Parameters + } + if astd.Annotations != nil { + objectMap["annotations"] = astd.Annotations + } + if astd.Folder != nil { + objectMap["folder"] = astd.Folder + } + if astd.Type != "" { + objectMap["type"] = astd.Type + } + for k, v := range astd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return &astd, true +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &astd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLTableDataset struct. +func (astd *AzureSQLTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureSQLTableDatasetTypeProperties AzureSQLTableDatasetTypeProperties + err = json.Unmarshal(*v, &azureSQLTableDatasetTypeProperties) + if err != nil { + return err + } + astd.AzureSQLTableDatasetTypeProperties = &azureSQLTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if astd.AdditionalProperties == nil { + astd.AdditionalProperties = make(map[string]interface{}) + } + astd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + astd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + astd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + astd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + astd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + astd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + astd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + astd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + astd.Type = typeVar + } + } + } + + return nil +} + +// AzureSQLTableDatasetTypeProperties azure SQL dataset properties. +type AzureSQLTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The schema name of the Azure SQL database. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The table name of the Azure SQL database. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// AzureStorageLinkedService the storage account linked service. +type AzureStorageLinkedService struct { + // AzureStorageLinkedServiceTypeProperties - Azure Storage linked service properties. + *AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) MarshalJSON() ([]byte, error) { + asls.Type = TypeAzureStorage + objectMap := make(map[string]interface{}) + if asls.AzureStorageLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = asls.AzureStorageLinkedServiceTypeProperties + } + if asls.ConnectVia != nil { + objectMap["connectVia"] = asls.ConnectVia + } + if asls.Description != nil { + objectMap["description"] = asls.Description + } + if asls.Parameters != nil { + objectMap["parameters"] = asls.Parameters + } + if asls.Annotations != nil { + objectMap["annotations"] = asls.Annotations + } + if asls.Type != "" { + objectMap["type"] = asls.Type + } + for k, v := range asls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return &asls, true +} + +// AsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &asls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureStorageLinkedService struct. +func (asls *AzureStorageLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties) + if err != nil { + return err + } + asls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if asls.AdditionalProperties == nil { + asls.AdditionalProperties = make(map[string]interface{}) + } + asls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + asls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + asls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + asls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + asls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asls.Type = typeVar + } + } + } + + return nil +} + +// AzureStorageLinkedServiceTypeProperties azure Storage linked service properties. +type AzureStorageLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // AccountKey - The Azure key vault secret reference of accountKey in connection string. + AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"` + // SasURI - SAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference. + SasURI interface{} `json:"sasUri,omitempty"` + // SasToken - The Azure key vault secret reference of sasToken in sas uri. + SasToken *AzureKeyVaultSecretReference `json:"sasToken,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential *string `json:"encryptedCredential,omitempty"` +} + +// AzureTableDataset the Azure Table storage dataset. +type AzureTableDataset struct { + // AzureTableDatasetTypeProperties - Azure Table dataset properties. + *AzureTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureTableDataset. +func (atd AzureTableDataset) MarshalJSON() ([]byte, error) { + atd.Type = TypeAzureTable + objectMap := make(map[string]interface{}) + if atd.AzureTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = atd.AzureTableDatasetTypeProperties + } + if atd.Description != nil { + objectMap["description"] = atd.Description + } + if atd.Structure != nil { + objectMap["structure"] = atd.Structure + } + if atd.Schema != nil { + objectMap["schema"] = atd.Schema + } + if atd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = atd.LinkedServiceName + } + if atd.Parameters != nil { + objectMap["parameters"] = atd.Parameters + } + if atd.Annotations != nil { + objectMap["annotations"] = atd.Annotations + } + if atd.Folder != nil { + objectMap["folder"] = atd.Folder + } + if atd.Type != "" { + objectMap["type"] = atd.Type + } + for k, v := range atd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return &atd, true +} + +// AsBinaryDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &atd, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureTableDataset struct. +func (atd *AzureTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureTableDatasetTypeProperties AzureTableDatasetTypeProperties + err = json.Unmarshal(*v, &azureTableDatasetTypeProperties) + if err != nil { + return err + } + atd.AzureTableDatasetTypeProperties = &azureTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if atd.AdditionalProperties == nil { + atd.AdditionalProperties = make(map[string]interface{}) + } + atd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + atd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + atd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + atd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + atd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + atd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + atd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + atd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + atd.Type = typeVar + } + } + } + + return nil +} + +// AzureTableDatasetTypeProperties azure Table dataset properties. +type AzureTableDatasetTypeProperties struct { + // TableName - The table name of the Azure Table storage. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// AzureTableSink a copy activity Azure Table sink. +type AzureTableSink struct { + // AzureTableDefaultPartitionKeyValue - Azure Table default partition key value. Type: string (or Expression with resultType string). + AzureTableDefaultPartitionKeyValue interface{} `json:"azureTableDefaultPartitionKeyValue,omitempty"` + // AzureTablePartitionKeyName - Azure Table partition key name. Type: string (or Expression with resultType string). + AzureTablePartitionKeyName interface{} `json:"azureTablePartitionKeyName,omitempty"` + // AzureTableRowKeyName - Azure Table row key name. Type: string (or Expression with resultType string). + AzureTableRowKeyName interface{} `json:"azureTableRowKeyName,omitempty"` + // AzureTableInsertType - Azure Table insert type. Type: string (or Expression with resultType string). + AzureTableInsertType interface{} `json:"azureTableInsertType,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureTableSink. +func (ats AzureTableSink) MarshalJSON() ([]byte, error) { + ats.Type = TypeAzureTableSink + objectMap := make(map[string]interface{}) + if ats.AzureTableDefaultPartitionKeyValue != nil { + objectMap["azureTableDefaultPartitionKeyValue"] = ats.AzureTableDefaultPartitionKeyValue + } + if ats.AzureTablePartitionKeyName != nil { + objectMap["azureTablePartitionKeyName"] = ats.AzureTablePartitionKeyName + } + if ats.AzureTableRowKeyName != nil { + objectMap["azureTableRowKeyName"] = ats.AzureTableRowKeyName + } + if ats.AzureTableInsertType != nil { + objectMap["azureTableInsertType"] = ats.AzureTableInsertType + } + if ats.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ats.WriteBatchSize + } + if ats.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ats.WriteBatchTimeout + } + if ats.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ats.SinkRetryCount + } + if ats.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ats.SinkRetryWait + } + if ats.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ats.MaxConcurrentConnections + } + if ats.Type != "" { + objectMap["type"] = ats.Type + } + for k, v := range ats.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureTableSink() (*AzureTableSink, bool) { + return &ats, true +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ats, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureTableSink struct. +func (ats *AzureTableSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "azureTableDefaultPartitionKeyValue": + if v != nil { + var azureTableDefaultPartitionKeyValue interface{} + err = json.Unmarshal(*v, &azureTableDefaultPartitionKeyValue) + if err != nil { + return err + } + ats.AzureTableDefaultPartitionKeyValue = azureTableDefaultPartitionKeyValue + } + case "azureTablePartitionKeyName": + if v != nil { + var azureTablePartitionKeyName interface{} + err = json.Unmarshal(*v, &azureTablePartitionKeyName) + if err != nil { + return err + } + ats.AzureTablePartitionKeyName = azureTablePartitionKeyName + } + case "azureTableRowKeyName": + if v != nil { + var azureTableRowKeyName interface{} + err = json.Unmarshal(*v, &azureTableRowKeyName) + if err != nil { + return err + } + ats.AzureTableRowKeyName = azureTableRowKeyName + } + case "azureTableInsertType": + if v != nil { + var azureTableInsertType interface{} + err = json.Unmarshal(*v, &azureTableInsertType) + if err != nil { + return err + } + ats.AzureTableInsertType = azureTableInsertType + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ats.AdditionalProperties == nil { + ats.AdditionalProperties = make(map[string]interface{}) + } + ats.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ats.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ats.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ats.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ats.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ats.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ats.Type = typeVar + } + } + } + + return nil +} + +// AzureTableSource a copy activity Azure Table source. +type AzureTableSource struct { + // AzureTableSourceQuery - Azure Table source query. Type: string (or Expression with resultType string). + AzureTableSourceQuery interface{} `json:"azureTableSourceQuery,omitempty"` + // AzureTableSourceIgnoreTableNotFound - Azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean). + AzureTableSourceIgnoreTableNotFound interface{} `json:"azureTableSourceIgnoreTableNotFound,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureTableSource. +func (ats AzureTableSource) MarshalJSON() ([]byte, error) { + ats.Type = TypeAzureTableSource + objectMap := make(map[string]interface{}) + if ats.AzureTableSourceQuery != nil { + objectMap["azureTableSourceQuery"] = ats.AzureTableSourceQuery + } + if ats.AzureTableSourceIgnoreTableNotFound != nil { + objectMap["azureTableSourceIgnoreTableNotFound"] = ats.AzureTableSourceIgnoreTableNotFound + } + if ats.QueryTimeout != nil { + objectMap["queryTimeout"] = ats.QueryTimeout + } + if ats.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ats.SourceRetryCount + } + if ats.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ats.SourceRetryWait + } + if ats.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ats.MaxConcurrentConnections + } + if ats.Type != "" { + objectMap["type"] = ats.Type + } + for k, v := range ats.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureTableSource() (*AzureTableSource, bool) { + return &ats, true +} + +// AsTabularSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ats, true +} + +// AsBinarySource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ats, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureTableSource struct. +func (ats *AzureTableSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "azureTableSourceQuery": + if v != nil { + var azureTableSourceQuery interface{} + err = json.Unmarshal(*v, &azureTableSourceQuery) + if err != nil { + return err + } + ats.AzureTableSourceQuery = azureTableSourceQuery + } + case "azureTableSourceIgnoreTableNotFound": + if v != nil { + var azureTableSourceIgnoreTableNotFound interface{} + err = json.Unmarshal(*v, &azureTableSourceIgnoreTableNotFound) + if err != nil { + return err + } + ats.AzureTableSourceIgnoreTableNotFound = azureTableSourceIgnoreTableNotFound + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ats.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ats.AdditionalProperties == nil { + ats.AdditionalProperties = make(map[string]interface{}) + } + ats.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ats.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ats.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ats.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ats.Type = typeVar + } + } + } + + return nil +} + +// AzureTableStorageLinkedService the azure table storage linked service. +type AzureTableStorageLinkedService struct { + // AzureStorageLinkedServiceTypeProperties - Azure Table Storage linked service properties. + *AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) MarshalJSON() ([]byte, error) { + atsls.Type = TypeAzureTableStorage + objectMap := make(map[string]interface{}) + if atsls.AzureStorageLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = atsls.AzureStorageLinkedServiceTypeProperties + } + if atsls.ConnectVia != nil { + objectMap["connectVia"] = atsls.ConnectVia + } + if atsls.Description != nil { + objectMap["description"] = atsls.Description + } + if atsls.Parameters != nil { + objectMap["parameters"] = atsls.Parameters + } + if atsls.Annotations != nil { + objectMap["annotations"] = atsls.Annotations + } + if atsls.Type != "" { + objectMap["type"] = atsls.Type + } + for k, v := range atsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return &atsls, true +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &atsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureTableStorageLinkedService struct. +func (atsls *AzureTableStorageLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties) + if err != nil { + return err + } + atsls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if atsls.AdditionalProperties == nil { + atsls.AdditionalProperties = make(map[string]interface{}) + } + atsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + atsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + atsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + atsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + atsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + atsls.Type = typeVar + } + } + } + + return nil +} + +// BigDataPoolReference big data pool reference. +type BigDataPoolReference struct { + // Type - Big data pool reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference big data pool name. + ReferenceName *string `json:"referenceName,omitempty"` +} + +// BinaryDataset binary dataset. +type BinaryDataset struct { + // BinaryDatasetTypeProperties - Binary dataset properties. + *BinaryDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BinaryDataset. +func (bd BinaryDataset) MarshalJSON() ([]byte, error) { + bd.Type = TypeBinary + objectMap := make(map[string]interface{}) + if bd.BinaryDatasetTypeProperties != nil { + objectMap["typeProperties"] = bd.BinaryDatasetTypeProperties + } + if bd.Description != nil { + objectMap["description"] = bd.Description + } + if bd.Structure != nil { + objectMap["structure"] = bd.Structure + } + if bd.Schema != nil { + objectMap["schema"] = bd.Schema + } + if bd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = bd.LinkedServiceName + } + if bd.Parameters != nil { + objectMap["parameters"] = bd.Parameters + } + if bd.Annotations != nil { + objectMap["annotations"] = bd.Annotations + } + if bd.Folder != nil { + objectMap["folder"] = bd.Folder + } + if bd.Type != "" { + objectMap["type"] = bd.Type + } + for k, v := range bd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return &bd, true +} + +// AsOrcDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsBasicDataset() (BasicDataset, bool) { + return &bd, true +} + +// UnmarshalJSON is the custom unmarshaler for BinaryDataset struct. +func (bd *BinaryDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var binaryDatasetTypeProperties BinaryDatasetTypeProperties + err = json.Unmarshal(*v, &binaryDatasetTypeProperties) + if err != nil { + return err + } + bd.BinaryDatasetTypeProperties = &binaryDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if bd.AdditionalProperties == nil { + bd.AdditionalProperties = make(map[string]interface{}) + } + bd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + bd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + bd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + bd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + bd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + bd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + bd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + bd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bd.Type = typeVar + } + } + } + + return nil +} + +// BinaryDatasetTypeProperties binary dataset properties. +type BinaryDatasetTypeProperties struct { + // Location - The location of the Binary storage. + Location BasicDatasetLocation `json:"location,omitempty"` + // Compression - The data compression method used for the binary dataset. + Compression BasicDatasetCompression `json:"compression,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for BinaryDatasetTypeProperties struct. +func (bdtp *BinaryDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + location, err := unmarshalBasicDatasetLocation(*v) + if err != nil { + return err + } + bdtp.Location = location + } + case "compression": + if v != nil { + compression, err := unmarshalBasicDatasetCompression(*v) + if err != nil { + return err + } + bdtp.Compression = compression + } + } + } + + return nil +} + +// BinarySink a copy activity Binary sink. +type BinarySink struct { + // StoreSettings - Binary store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BinarySink. +func (bs BinarySink) MarshalJSON() ([]byte, error) { + bs.Type = TypeBinarySink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = bs.StoreSettings + if bs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = bs.WriteBatchSize + } + if bs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout + } + if bs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = bs.SinkRetryCount + } + if bs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = bs.SinkRetryWait + } + if bs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections + } + if bs.Type != "" { + objectMap["type"] = bs.Type + } + for k, v := range bs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsBinarySink() (*BinarySink, bool) { + return &bs, true +} + +// AsParquetSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsBasicCopySink() (BasicCopySink, bool) { + return &bs, true +} + +// UnmarshalJSON is the custom unmarshaler for BinarySink struct. +func (bs *BinarySink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + bs.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if bs.AdditionalProperties == nil { + bs.AdditionalProperties = make(map[string]interface{}) + } + bs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + bs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + bs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + bs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + bs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + bs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bs.Type = typeVar + } + } + } + + return nil +} + +// BinarySource a copy activity Binary source. +type BinarySource struct { + // StoreSettings - Binary store settings. + StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BinarySource. +func (bs BinarySource) MarshalJSON() ([]byte, error) { + bs.Type = TypeBinarySource + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = bs.StoreSettings + if bs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = bs.SourceRetryCount + } + if bs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = bs.SourceRetryWait + } + if bs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections + } + if bs.Type != "" { + objectMap["type"] = bs.Type + } + for k, v := range bs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsBinarySource() (*BinarySource, bool) { + return &bs, true +} + +// AsOrcSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsBasicCopySource() (BasicCopySource, bool) { + return &bs, true +} + +// UnmarshalJSON is the custom unmarshaler for BinarySource struct. +func (bs *BinarySource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreReadSettings(*v) + if err != nil { + return err + } + bs.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if bs.AdditionalProperties == nil { + bs.AdditionalProperties = make(map[string]interface{}) + } + bs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + bs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + bs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + bs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bs.Type = typeVar + } + } + } + + return nil +} + +// BlobEventsTrigger trigger that runs every time a Blob event occurs. +type BlobEventsTrigger struct { + // BlobEventsTriggerTypeProperties - Blob Events Trigger properties. + *BlobEventsTriggerTypeProperties `json:"typeProperties,omitempty"` + // Pipelines - Pipelines that need to be started. + Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BlobEventsTrigger. +func (bet BlobEventsTrigger) MarshalJSON() ([]byte, error) { + bet.Type = TypeBlobEventsTrigger + objectMap := make(map[string]interface{}) + if bet.BlobEventsTriggerTypeProperties != nil { + objectMap["typeProperties"] = bet.BlobEventsTriggerTypeProperties + } + if bet.Pipelines != nil { + objectMap["pipelines"] = bet.Pipelines + } + if bet.Description != nil { + objectMap["description"] = bet.Description + } + if bet.Annotations != nil { + objectMap["annotations"] = bet.Annotations + } + if bet.Type != "" { + objectMap["type"] = bet.Type + } + for k, v := range bet.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return &bet, true +} + +// AsBlobTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return &bet, true +} + +// AsTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &bet, true +} + +// UnmarshalJSON is the custom unmarshaler for BlobEventsTrigger struct. +func (bet *BlobEventsTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var blobEventsTriggerTypeProperties BlobEventsTriggerTypeProperties + err = json.Unmarshal(*v, &blobEventsTriggerTypeProperties) + if err != nil { + return err + } + bet.BlobEventsTriggerTypeProperties = &blobEventsTriggerTypeProperties + } + case "pipelines": + if v != nil { + var pipelines []TriggerPipelineReference + err = json.Unmarshal(*v, &pipelines) + if err != nil { + return err + } + bet.Pipelines = &pipelines + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if bet.AdditionalProperties == nil { + bet.AdditionalProperties = make(map[string]interface{}) + } + bet.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + bet.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + bet.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + bet.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bet.Type = typeVar + } + } + } + + return nil +} + +// BlobEventsTriggerTypeProperties blob Events Trigger properties. +type BlobEventsTriggerTypeProperties struct { + // 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. + BlobPathBeginsWith *string `json:"blobPathBeginsWith,omitempty"` + // 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. + BlobPathEndsWith *string `json:"blobPathEndsWith,omitempty"` + // IgnoreEmptyBlobs - If set to true, blobs with zero bytes will be ignored. + IgnoreEmptyBlobs *bool `json:"ignoreEmptyBlobs,omitempty"` + // Events - The type of events that cause this trigger to fire. + Events *[]BlobEventTypes `json:"events,omitempty"` + // Scope - The ARM resource ID of the Storage Account. + Scope *string `json:"scope,omitempty"` +} + +// BlobSink a copy activity Azure Blob sink. +type BlobSink struct { + // BlobWriterOverwriteFiles - Blob writer overwrite files. Type: boolean (or Expression with resultType boolean). + BlobWriterOverwriteFiles interface{} `json:"blobWriterOverwriteFiles,omitempty"` + // BlobWriterDateTimeFormat - Blob writer date time format. Type: string (or Expression with resultType string). + BlobWriterDateTimeFormat interface{} `json:"blobWriterDateTimeFormat,omitempty"` + // BlobWriterAddHeader - Blob writer add header. Type: boolean (or Expression with resultType boolean). + BlobWriterAddHeader interface{} `json:"blobWriterAddHeader,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BlobSink. +func (bs BlobSink) MarshalJSON() ([]byte, error) { + bs.Type = TypeBlobSink + objectMap := make(map[string]interface{}) + if bs.BlobWriterOverwriteFiles != nil { + objectMap["blobWriterOverwriteFiles"] = bs.BlobWriterOverwriteFiles + } + if bs.BlobWriterDateTimeFormat != nil { + objectMap["blobWriterDateTimeFormat"] = bs.BlobWriterDateTimeFormat + } + if bs.BlobWriterAddHeader != nil { + objectMap["blobWriterAddHeader"] = bs.BlobWriterAddHeader + } + if bs.CopyBehavior != nil { + objectMap["copyBehavior"] = bs.CopyBehavior + } + if bs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = bs.WriteBatchSize + } + if bs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout + } + if bs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = bs.SinkRetryCount + } + if bs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = bs.SinkRetryWait + } + if bs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections + } + if bs.Type != "" { + objectMap["type"] = bs.Type + } + for k, v := range bs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsBlobSink() (*BlobSink, bool) { + return &bs, true +} + +// AsBinarySink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsBasicCopySink() (BasicCopySink, bool) { + return &bs, true +} + +// UnmarshalJSON is the custom unmarshaler for BlobSink struct. +func (bs *BlobSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "blobWriterOverwriteFiles": + if v != nil { + var blobWriterOverwriteFiles interface{} + err = json.Unmarshal(*v, &blobWriterOverwriteFiles) + if err != nil { + return err + } + bs.BlobWriterOverwriteFiles = blobWriterOverwriteFiles + } + case "blobWriterDateTimeFormat": + if v != nil { + var blobWriterDateTimeFormat interface{} + err = json.Unmarshal(*v, &blobWriterDateTimeFormat) + if err != nil { + return err + } + bs.BlobWriterDateTimeFormat = blobWriterDateTimeFormat + } + case "blobWriterAddHeader": + if v != nil { + var blobWriterAddHeader interface{} + err = json.Unmarshal(*v, &blobWriterAddHeader) + if err != nil { + return err + } + bs.BlobWriterAddHeader = blobWriterAddHeader + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + bs.CopyBehavior = copyBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if bs.AdditionalProperties == nil { + bs.AdditionalProperties = make(map[string]interface{}) + } + bs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + bs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + bs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + bs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + bs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + bs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bs.Type = typeVar + } + } + } + + return nil +} + +// BlobSource a copy activity Azure Blob source. +type BlobSource struct { + // TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean). + TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"` + // SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer). + SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"` + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BlobSource. +func (bs BlobSource) MarshalJSON() ([]byte, error) { + bs.Type = TypeBlobSource + objectMap := make(map[string]interface{}) + if bs.TreatEmptyAsNull != nil { + objectMap["treatEmptyAsNull"] = bs.TreatEmptyAsNull + } + if bs.SkipHeaderLineCount != nil { + objectMap["skipHeaderLineCount"] = bs.SkipHeaderLineCount + } + if bs.Recursive != nil { + objectMap["recursive"] = bs.Recursive + } + if bs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = bs.SourceRetryCount + } + if bs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = bs.SourceRetryWait + } + if bs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections + } + if bs.Type != "" { + objectMap["type"] = bs.Type + } + for k, v := range bs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsBlobSource() (*BlobSource, bool) { + return &bs, true +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsBasicCopySource() (BasicCopySource, bool) { + return &bs, true +} + +// UnmarshalJSON is the custom unmarshaler for BlobSource struct. +func (bs *BlobSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "treatEmptyAsNull": + if v != nil { + var treatEmptyAsNull interface{} + err = json.Unmarshal(*v, &treatEmptyAsNull) + if err != nil { + return err + } + bs.TreatEmptyAsNull = treatEmptyAsNull + } + case "skipHeaderLineCount": + if v != nil { + var skipHeaderLineCount interface{} + err = json.Unmarshal(*v, &skipHeaderLineCount) + if err != nil { + return err + } + bs.SkipHeaderLineCount = skipHeaderLineCount + } + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + bs.Recursive = recursive + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if bs.AdditionalProperties == nil { + bs.AdditionalProperties = make(map[string]interface{}) + } + bs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + bs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + bs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + bs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bs.Type = typeVar + } + } + } + + return nil +} + +// BlobTrigger trigger that runs every time the selected Blob container changes. +type BlobTrigger struct { + // BlobTriggerTypeProperties - Blob Trigger properties. + *BlobTriggerTypeProperties `json:"typeProperties,omitempty"` + // Pipelines - Pipelines that need to be started. + Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BlobTrigger. +func (bt BlobTrigger) MarshalJSON() ([]byte, error) { + bt.Type = TypeBlobTrigger + objectMap := make(map[string]interface{}) + if bt.BlobTriggerTypeProperties != nil { + objectMap["typeProperties"] = bt.BlobTriggerTypeProperties + } + if bt.Pipelines != nil { + objectMap["pipelines"] = bt.Pipelines + } + if bt.Description != nil { + objectMap["description"] = bt.Description + } + if bt.Annotations != nil { + objectMap["annotations"] = bt.Annotations + } + if bt.Type != "" { + objectMap["type"] = bt.Type + } + for k, v := range bt.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return &bt, true +} + +// AsScheduleTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return &bt, true +} + +// AsTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &bt, true +} + +// UnmarshalJSON is the custom unmarshaler for BlobTrigger struct. +func (bt *BlobTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var blobTriggerTypeProperties BlobTriggerTypeProperties + err = json.Unmarshal(*v, &blobTriggerTypeProperties) + if err != nil { + return err + } + bt.BlobTriggerTypeProperties = &blobTriggerTypeProperties + } + case "pipelines": + if v != nil { + var pipelines []TriggerPipelineReference + err = json.Unmarshal(*v, &pipelines) + if err != nil { + return err + } + bt.Pipelines = &pipelines + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if bt.AdditionalProperties == nil { + bt.AdditionalProperties = make(map[string]interface{}) + } + bt.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + bt.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + bt.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + bt.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bt.Type = typeVar + } + } + } + + return nil +} + +// BlobTriggerTypeProperties blob Trigger properties. +type BlobTriggerTypeProperties struct { + // FolderPath - The path of the container/folder that will trigger the pipeline. + FolderPath *string `json:"folderPath,omitempty"` + // MaxConcurrency - The max number of parallel files to handle when it is triggered. + MaxConcurrency *int32 `json:"maxConcurrency,omitempty"` + // LinkedService - The Azure Storage linked service reference. + LinkedService *LinkedServiceReference `json:"linkedService,omitempty"` +} + +// CassandraLinkedService linked service for Cassandra data source. +type CassandraLinkedService struct { + // CassandraLinkedServiceTypeProperties - Cassandra linked service properties. + *CassandraLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CassandraLinkedService. +func (cls CassandraLinkedService) MarshalJSON() ([]byte, error) { + cls.Type = TypeCassandra + objectMap := make(map[string]interface{}) + if cls.CassandraLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = cls.CassandraLinkedServiceTypeProperties + } + if cls.ConnectVia != nil { + objectMap["connectVia"] = cls.ConnectVia + } + if cls.Description != nil { + objectMap["description"] = cls.Description + } + if cls.Parameters != nil { + objectMap["parameters"] = cls.Parameters + } + if cls.Annotations != nil { + objectMap["annotations"] = cls.Annotations + } + if cls.Type != "" { + objectMap["type"] = cls.Type + } + for k, v := range cls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return &cls, true +} + +// AsWebLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cls, true +} + +// UnmarshalJSON is the custom unmarshaler for CassandraLinkedService struct. +func (cls *CassandraLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cassandraLinkedServiceTypeProperties CassandraLinkedServiceTypeProperties + err = json.Unmarshal(*v, &cassandraLinkedServiceTypeProperties) + if err != nil { + return err + } + cls.CassandraLinkedServiceTypeProperties = &cassandraLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cls.AdditionalProperties == nil { + cls.AdditionalProperties = make(map[string]interface{}) + } + cls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cls.Type = typeVar + } + } + } + + return nil +} + +// CassandraLinkedServiceTypeProperties cassandra linked service properties. +type CassandraLinkedServiceTypeProperties struct { + // Host - Host name for connection. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // AuthenticationType - AuthenticationType to be used for connection. Type: string (or Expression with resultType string). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Port - The port for the connection. Type: integer (or Expression with resultType integer). + Port interface{} `json:"port,omitempty"` + // Username - Username for authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password for authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for CassandraLinkedServiceTypeProperties struct. +func (clstp *CassandraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + clstp.Host = host + } + case "authenticationType": + if v != nil { + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + clstp.AuthenticationType = authenticationType + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + clstp.Port = port + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + clstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + clstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + clstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// CassandraSource a copy activity source for a Cassandra database. +type CassandraSource struct { + // Query - Database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // 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' + ConsistencyLevel CassandraSourceReadConsistencyLevels `json:"consistencyLevel,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CassandraSource. +func (cs CassandraSource) MarshalJSON() ([]byte, error) { + cs.Type = TypeCassandraSource + objectMap := make(map[string]interface{}) + if cs.Query != nil { + objectMap["query"] = cs.Query + } + if cs.ConsistencyLevel != "" { + objectMap["consistencyLevel"] = cs.ConsistencyLevel + } + if cs.QueryTimeout != nil { + objectMap["queryTimeout"] = cs.QueryTimeout + } + if cs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cs.SourceRetryCount + } + if cs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cs.SourceRetryWait + } + if cs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections + } + if cs.Type != "" { + objectMap["type"] = cs.Type + } + for k, v := range cs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCassandraSource() (*CassandraSource, bool) { + return &cs, true +} + +// AsTeradataSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &cs, true +} + +// AsBinarySource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsBasicCopySource() (BasicCopySource, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for CassandraSource struct. +func (cs *CassandraSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + cs.Query = query + } + case "consistencyLevel": + if v != nil { + var consistencyLevel CassandraSourceReadConsistencyLevels + err = json.Unmarshal(*v, &consistencyLevel) + if err != nil { + return err + } + cs.ConsistencyLevel = consistencyLevel + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + cs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cs.AdditionalProperties == nil { + cs.AdditionalProperties = make(map[string]interface{}) + } + cs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + cs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + cs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = typeVar + } + } + } + + return nil +} + +// CassandraTableDataset the Cassandra database dataset. +type CassandraTableDataset struct { + // CassandraTableDatasetTypeProperties - Cassandra dataset properties. + *CassandraTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CassandraTableDataset. +func (ctd CassandraTableDataset) MarshalJSON() ([]byte, error) { + ctd.Type = TypeCassandraTable + objectMap := make(map[string]interface{}) + if ctd.CassandraTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = ctd.CassandraTableDatasetTypeProperties + } + if ctd.Description != nil { + objectMap["description"] = ctd.Description + } + if ctd.Structure != nil { + objectMap["structure"] = ctd.Structure + } + if ctd.Schema != nil { + objectMap["schema"] = ctd.Schema + } + if ctd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ctd.LinkedServiceName + } + if ctd.Parameters != nil { + objectMap["parameters"] = ctd.Parameters + } + if ctd.Annotations != nil { + objectMap["annotations"] = ctd.Annotations + } + if ctd.Folder != nil { + objectMap["folder"] = ctd.Folder + } + if ctd.Type != "" { + objectMap["type"] = ctd.Type + } + for k, v := range ctd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return &ctd, true +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &ctd, true +} + +// UnmarshalJSON is the custom unmarshaler for CassandraTableDataset struct. +func (ctd *CassandraTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cassandraTableDatasetTypeProperties CassandraTableDatasetTypeProperties + err = json.Unmarshal(*v, &cassandraTableDatasetTypeProperties) + if err != nil { + return err + } + ctd.CassandraTableDatasetTypeProperties = &cassandraTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ctd.AdditionalProperties == nil { + ctd.AdditionalProperties = make(map[string]interface{}) + } + ctd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ctd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + ctd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ctd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ctd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ctd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ctd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ctd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ctd.Type = typeVar + } + } + } + + return nil +} + +// CassandraTableDatasetTypeProperties cassandra dataset properties. +type CassandraTableDatasetTypeProperties struct { + // TableName - The table name of the Cassandra database. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` + // Keyspace - The keyspace of the Cassandra database. Type: string (or Expression with resultType string). + Keyspace interface{} `json:"keyspace,omitempty"` +} + +// ChainingTrigger trigger that allows the referenced pipeline to depend on other pipeline runs based on +// runDimension Name/Value pairs. Upstream pipelines should declare the same runDimension Name and their +// runs should have the values for those runDimensions. The referenced pipeline run would be triggered if +// the values for the runDimension match for all upstream pipeline runs. +type ChainingTrigger struct { + // Pipeline - Pipeline for which runs are created when all upstream pipelines complete successfully. + Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"` + // ChainingTriggerTypeProperties - Chaining Trigger properties. + *ChainingTriggerTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ChainingTrigger. +func (ct ChainingTrigger) MarshalJSON() ([]byte, error) { + ct.Type = TypeChainingTrigger + objectMap := make(map[string]interface{}) + if ct.Pipeline != nil { + objectMap["pipeline"] = ct.Pipeline + } + if ct.ChainingTriggerTypeProperties != nil { + objectMap["typeProperties"] = ct.ChainingTriggerTypeProperties + } + if ct.Description != nil { + objectMap["description"] = ct.Description + } + if ct.Annotations != nil { + objectMap["annotations"] = ct.Annotations + } + if ct.Type != "" { + objectMap["type"] = ct.Type + } + for k, v := range ct.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return &ct, true +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return nil, false +} + +// AsTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &ct, true +} + +// UnmarshalJSON is the custom unmarshaler for ChainingTrigger struct. +func (ct *ChainingTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "pipeline": + if v != nil { + var pipeline TriggerPipelineReference + err = json.Unmarshal(*v, &pipeline) + if err != nil { + return err + } + ct.Pipeline = &pipeline + } + case "typeProperties": + if v != nil { + var chainingTriggerTypeProperties ChainingTriggerTypeProperties + err = json.Unmarshal(*v, &chainingTriggerTypeProperties) + if err != nil { + return err + } + ct.ChainingTriggerTypeProperties = &chainingTriggerTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ct.AdditionalProperties == nil { + ct.AdditionalProperties = make(map[string]interface{}) + } + ct.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ct.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + ct.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ct.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ct.Type = typeVar + } + } + } + + return nil +} + +// ChainingTriggerTypeProperties chaining Trigger properties. +type ChainingTriggerTypeProperties struct { + // DependsOn - Upstream Pipelines. + DependsOn *[]PipelineReference `json:"dependsOn,omitempty"` + // RunDimension - Run Dimension property that needs to be emitted by upstream pipelines. + RunDimension *string `json:"runDimension,omitempty"` +} + +// CloudError the object that defines the structure of an Azure Synapse error response. +type CloudError struct { + // CloudErrorBody - Error data + *CloudErrorBody `json:"error,omitempty"` +} + +// MarshalJSON is the custom marshaler for CloudError. +func (ce CloudError) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ce.CloudErrorBody != nil { + objectMap["error"] = ce.CloudErrorBody + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CloudError struct. +func (ce *CloudError) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "error": + if v != nil { + var cloudErrorBody CloudErrorBody + err = json.Unmarshal(*v, &cloudErrorBody) + if err != nil { + return err + } + ce.CloudErrorBody = &cloudErrorBody + } + } + } + + return nil +} + +// CloudErrorBody the object that defines the structure of an Azure Synapse error. +type CloudErrorBody struct { + // Code - Error code. + Code *string `json:"code,omitempty"` + // Message - Error message. + Message *string `json:"message,omitempty"` + // Target - Property name/path in request associated with error. + Target *string `json:"target,omitempty"` + // Details - Array with additional error details. + Details *[]CloudError `json:"details,omitempty"` +} + +// CommonDataServiceForAppsEntityDataset the Common Data Service for Apps entity dataset. +type CommonDataServiceForAppsEntityDataset struct { + // CommonDataServiceForAppsEntityDatasetTypeProperties - Common Data Service for Apps entity dataset properties. + *CommonDataServiceForAppsEntityDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) MarshalJSON() ([]byte, error) { + cdsfaed.Type = TypeCommonDataServiceForAppsEntity + objectMap := make(map[string]interface{}) + if cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties != nil { + objectMap["typeProperties"] = cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties + } + if cdsfaed.Description != nil { + objectMap["description"] = cdsfaed.Description + } + if cdsfaed.Structure != nil { + objectMap["structure"] = cdsfaed.Structure + } + if cdsfaed.Schema != nil { + objectMap["schema"] = cdsfaed.Schema + } + if cdsfaed.LinkedServiceName != nil { + objectMap["linkedServiceName"] = cdsfaed.LinkedServiceName + } + if cdsfaed.Parameters != nil { + objectMap["parameters"] = cdsfaed.Parameters + } + if cdsfaed.Annotations != nil { + objectMap["annotations"] = cdsfaed.Annotations + } + if cdsfaed.Folder != nil { + objectMap["folder"] = cdsfaed.Folder + } + if cdsfaed.Type != "" { + objectMap["type"] = cdsfaed.Type + } + for k, v := range cdsfaed.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return &cdsfaed, true +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsBasicDataset() (BasicDataset, bool) { + return &cdsfaed, true +} + +// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsEntityDataset struct. +func (cdsfaed *CommonDataServiceForAppsEntityDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var commonDataServiceForAppsEntityDatasetTypeProperties CommonDataServiceForAppsEntityDatasetTypeProperties + err = json.Unmarshal(*v, &commonDataServiceForAppsEntityDatasetTypeProperties) + if err != nil { + return err + } + cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties = &commonDataServiceForAppsEntityDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsfaed.AdditionalProperties == nil { + cdsfaed.AdditionalProperties = make(map[string]interface{}) + } + cdsfaed.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdsfaed.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + cdsfaed.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + cdsfaed.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + cdsfaed.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdsfaed.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdsfaed.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + cdsfaed.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsfaed.Type = typeVar + } + } + } + + return nil +} + +// CommonDataServiceForAppsEntityDatasetTypeProperties common Data Service for Apps entity dataset +// properties. +type CommonDataServiceForAppsEntityDatasetTypeProperties struct { + // EntityName - The logical name of the entity. Type: string (or Expression with resultType string). + EntityName interface{} `json:"entityName,omitempty"` +} + +// CommonDataServiceForAppsLinkedService common Data Service for Apps linked service. +type CommonDataServiceForAppsLinkedService struct { + // CommonDataServiceForAppsLinkedServiceTypeProperties - Common Data Service for Apps linked service properties. + *CommonDataServiceForAppsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) MarshalJSON() ([]byte, error) { + cdsfals.Type = TypeCommonDataServiceForApps + objectMap := make(map[string]interface{}) + if cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties + } + if cdsfals.ConnectVia != nil { + objectMap["connectVia"] = cdsfals.ConnectVia + } + if cdsfals.Description != nil { + objectMap["description"] = cdsfals.Description + } + if cdsfals.Parameters != nil { + objectMap["parameters"] = cdsfals.Parameters + } + if cdsfals.Annotations != nil { + objectMap["annotations"] = cdsfals.Annotations + } + if cdsfals.Type != "" { + objectMap["type"] = cdsfals.Type + } + for k, v := range cdsfals.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return &cdsfals, true +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cdsfals, true +} + +// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsLinkedService struct. +func (cdsfals *CommonDataServiceForAppsLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var commonDataServiceForAppsLinkedServiceTypeProperties CommonDataServiceForAppsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &commonDataServiceForAppsLinkedServiceTypeProperties) + if err != nil { + return err + } + cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties = &commonDataServiceForAppsLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsfals.AdditionalProperties == nil { + cdsfals.AdditionalProperties = make(map[string]interface{}) + } + cdsfals.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cdsfals.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdsfals.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdsfals.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdsfals.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsfals.Type = typeVar + } + } + } + + return nil +} + +// CommonDataServiceForAppsLinkedServiceTypeProperties common Data Service for Apps linked service +// properties. +type CommonDataServiceForAppsLinkedServiceTypeProperties struct { + // 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' + DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"` + // 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). + HostName interface{} `json:"hostName,omitempty"` + // 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. + Port interface{} `json:"port,omitempty"` + // 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). + ServiceURI interface{} `json:"serviceUri,omitempty"` + // 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). + OrganizationName interface{} `json:"organizationName,omitempty"` + // 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' + AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"` + // Username - User name to access the Common Data Service for Apps instance. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password to access the Common Data Service for Apps instance. + Password BasicSecretBase `json:"password,omitempty"` + // ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // 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' + ServicePrincipalCredentialType DynamicsServicePrincipalCredentialType `json:"servicePrincipalCredentialType,omitempty"` + // 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. + ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsLinkedServiceTypeProperties struct. +func (cdsfalstp *CommonDataServiceForAppsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "deploymentType": + if v != nil { + var deploymentType DynamicsDeploymentType + err = json.Unmarshal(*v, &deploymentType) + if err != nil { + return err + } + cdsfalstp.DeploymentType = deploymentType + } + case "hostName": + if v != nil { + var hostName interface{} + err = json.Unmarshal(*v, &hostName) + if err != nil { + return err + } + cdsfalstp.HostName = hostName + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + cdsfalstp.Port = port + } + case "serviceUri": + if v != nil { + var serviceURI interface{} + err = json.Unmarshal(*v, &serviceURI) + if err != nil { + return err + } + cdsfalstp.ServiceURI = serviceURI + } + case "organizationName": + if v != nil { + var organizationName interface{} + err = json.Unmarshal(*v, &organizationName) + if err != nil { + return err + } + cdsfalstp.OrganizationName = organizationName + } + case "authenticationType": + if v != nil { + var authenticationType DynamicsAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + cdsfalstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + cdsfalstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + cdsfalstp.Password = password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + cdsfalstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalCredentialType": + if v != nil { + var servicePrincipalCredentialType DynamicsServicePrincipalCredentialType + err = json.Unmarshal(*v, &servicePrincipalCredentialType) + if err != nil { + return err + } + cdsfalstp.ServicePrincipalCredentialType = servicePrincipalCredentialType + } + case "servicePrincipalCredential": + if v != nil { + servicePrincipalCredential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + cdsfalstp.ServicePrincipalCredential = servicePrincipalCredential + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + cdsfalstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// CommonDataServiceForAppsSink a copy activity Common Data Service for Apps sink. +type CommonDataServiceForAppsSink struct { + // WriteBehavior - The write behavior for the operation. + WriteBehavior *string `json:"writeBehavior,omitempty"` + // 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). + IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string). + AlternateKeyName interface{} `json:"alternateKeyName,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) MarshalJSON() ([]byte, error) { + cdsfas.Type = TypeCommonDataServiceForAppsSink + objectMap := make(map[string]interface{}) + if cdsfas.WriteBehavior != nil { + objectMap["writeBehavior"] = cdsfas.WriteBehavior + } + if cdsfas.IgnoreNullValues != nil { + objectMap["ignoreNullValues"] = cdsfas.IgnoreNullValues + } + if cdsfas.AlternateKeyName != nil { + objectMap["alternateKeyName"] = cdsfas.AlternateKeyName + } + if cdsfas.WriteBatchSize != nil { + objectMap["writeBatchSize"] = cdsfas.WriteBatchSize + } + if cdsfas.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = cdsfas.WriteBatchTimeout + } + if cdsfas.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = cdsfas.SinkRetryCount + } + if cdsfas.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = cdsfas.SinkRetryWait + } + if cdsfas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdsfas.MaxConcurrentConnections + } + if cdsfas.Type != "" { + objectMap["type"] = cdsfas.Type + } + for k, v := range cdsfas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return &cdsfas, true +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsBasicCopySink() (BasicCopySink, bool) { + return &cdsfas, true +} + +// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsSink struct. +func (cdsfas *CommonDataServiceForAppsSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior string + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + cdsfas.WriteBehavior = &writeBehavior + } + case "ignoreNullValues": + if v != nil { + var ignoreNullValues interface{} + err = json.Unmarshal(*v, &ignoreNullValues) + if err != nil { + return err + } + cdsfas.IgnoreNullValues = ignoreNullValues + } + case "alternateKeyName": + if v != nil { + var alternateKeyName interface{} + err = json.Unmarshal(*v, &alternateKeyName) + if err != nil { + return err + } + cdsfas.AlternateKeyName = alternateKeyName + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsfas.AdditionalProperties == nil { + cdsfas.AdditionalProperties = make(map[string]interface{}) + } + cdsfas.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + cdsfas.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + cdsfas.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + cdsfas.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + cdsfas.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cdsfas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsfas.Type = typeVar + } + } + } + + return nil +} + +// CommonDataServiceForAppsSource a copy activity Common Data Service for Apps source. +type CommonDataServiceForAppsSource struct { + // 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). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) MarshalJSON() ([]byte, error) { + cdsfas.Type = TypeCommonDataServiceForAppsSource + objectMap := make(map[string]interface{}) + if cdsfas.Query != nil { + objectMap["query"] = cdsfas.Query + } + if cdsfas.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cdsfas.SourceRetryCount + } + if cdsfas.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cdsfas.SourceRetryWait + } + if cdsfas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdsfas.MaxConcurrentConnections + } + if cdsfas.Type != "" { + objectMap["type"] = cdsfas.Type + } + for k, v := range cdsfas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return &cdsfas, true +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsBasicCopySource() (BasicCopySource, bool) { + return &cdsfas, true +} + +// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsSource struct. +func (cdsfas *CommonDataServiceForAppsSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + cdsfas.Query = query + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsfas.AdditionalProperties == nil { + cdsfas.AdditionalProperties = make(map[string]interface{}) + } + cdsfas.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + cdsfas.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + cdsfas.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cdsfas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsfas.Type = typeVar + } + } + } + + return nil +} + +// ConcurLinkedService concur Service linked service. +type ConcurLinkedService struct { + // ConcurLinkedServiceTypeProperties - Concur Service linked service properties. + *ConcurLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConcurLinkedService. +func (cls ConcurLinkedService) MarshalJSON() ([]byte, error) { + cls.Type = TypeConcur + objectMap := make(map[string]interface{}) + if cls.ConcurLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = cls.ConcurLinkedServiceTypeProperties + } + if cls.ConnectVia != nil { + objectMap["connectVia"] = cls.ConnectVia + } + if cls.Description != nil { + objectMap["description"] = cls.Description + } + if cls.Parameters != nil { + objectMap["parameters"] = cls.Parameters + } + if cls.Annotations != nil { + objectMap["annotations"] = cls.Annotations + } + if cls.Type != "" { + objectMap["type"] = cls.Type + } + for k, v := range cls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return &cls, true +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cls, true +} + +// UnmarshalJSON is the custom unmarshaler for ConcurLinkedService struct. +func (cls *ConcurLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var concurLinkedServiceTypeProperties ConcurLinkedServiceTypeProperties + err = json.Unmarshal(*v, &concurLinkedServiceTypeProperties) + if err != nil { + return err + } + cls.ConcurLinkedServiceTypeProperties = &concurLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cls.AdditionalProperties == nil { + cls.AdditionalProperties = make(map[string]interface{}) + } + cls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cls.Type = typeVar + } + } + } + + return nil +} + +// ConcurLinkedServiceTypeProperties concur Service linked service properties. +type ConcurLinkedServiceTypeProperties struct { + // ClientID - Application client_id supplied by Concur App Management. + ClientID interface{} `json:"clientId,omitempty"` + // Username - The user name that you use to access Concur Service. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the username field. + Password BasicSecretBase `json:"password,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ConcurLinkedServiceTypeProperties struct. +func (clstp *ConcurLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + clstp.ClientID = clientID + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + clstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + clstp.Password = password + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + clstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + clstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + clstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + clstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ConcurObjectDataset concur Service dataset. +type ConcurObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConcurObjectDataset. +func (cod ConcurObjectDataset) MarshalJSON() ([]byte, error) { + cod.Type = TypeConcurObject + objectMap := make(map[string]interface{}) + if cod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = cod.GenericDatasetTypeProperties + } + if cod.Description != nil { + objectMap["description"] = cod.Description + } + if cod.Structure != nil { + objectMap["structure"] = cod.Structure + } + if cod.Schema != nil { + objectMap["schema"] = cod.Schema + } + if cod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = cod.LinkedServiceName + } + if cod.Parameters != nil { + objectMap["parameters"] = cod.Parameters + } + if cod.Annotations != nil { + objectMap["annotations"] = cod.Annotations + } + if cod.Folder != nil { + objectMap["folder"] = cod.Folder + } + if cod.Type != "" { + objectMap["type"] = cod.Type + } + for k, v := range cod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return &cod, true +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &cod, true +} + +// UnmarshalJSON is the custom unmarshaler for ConcurObjectDataset struct. +func (cod *ConcurObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + cod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cod.AdditionalProperties == nil { + cod.AdditionalProperties = make(map[string]interface{}) + } + cod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + cod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + cod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + cod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + cod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cod.Type = typeVar + } + } + } + + return nil +} + +// ConcurSource a copy activity Concur Service source. +type ConcurSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConcurSource. +func (cs ConcurSource) MarshalJSON() ([]byte, error) { + cs.Type = TypeConcurSource + objectMap := make(map[string]interface{}) + if cs.Query != nil { + objectMap["query"] = cs.Query + } + if cs.QueryTimeout != nil { + objectMap["queryTimeout"] = cs.QueryTimeout + } + if cs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cs.SourceRetryCount + } + if cs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cs.SourceRetryWait + } + if cs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections + } + if cs.Type != "" { + objectMap["type"] = cs.Type + } + for k, v := range cs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsConcurSource() (*ConcurSource, bool) { + return &cs, true +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &cs, true +} + +// AsBinarySource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsBasicCopySource() (BasicCopySource, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for ConcurSource struct. +func (cs *ConcurSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + cs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + cs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cs.AdditionalProperties == nil { + cs.AdditionalProperties = make(map[string]interface{}) + } + cs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + cs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + cs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = typeVar + } + } + } + + return nil +} + +// BasicControlActivity base class for all control activities like IfCondition, ForEach , Until. +type BasicControlActivity interface { + AsWebHookActivity() (*WebHookActivity, bool) + AsAppendVariableActivity() (*AppendVariableActivity, bool) + AsSetVariableActivity() (*SetVariableActivity, bool) + AsFilterActivity() (*FilterActivity, bool) + AsValidationActivity() (*ValidationActivity, bool) + AsUntilActivity() (*UntilActivity, bool) + AsWaitActivity() (*WaitActivity, bool) + AsForEachActivity() (*ForEachActivity, bool) + AsSwitchActivity() (*SwitchActivity, bool) + AsIfConditionActivity() (*IfConditionActivity, bool) + AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) + AsControlActivity() (*ControlActivity, bool) +} + +// ControlActivity base class for all control activities like IfCondition, ForEach , Until. +type ControlActivity struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +func unmarshalBasicControlActivity(body []byte) (BasicControlActivity, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeWebHook): + var wha WebHookActivity + err := json.Unmarshal(body, &wha) + return wha, err + case string(TypeAppendVariable): + var ava AppendVariableActivity + err := json.Unmarshal(body, &ava) + return ava, err + case string(TypeSetVariable): + var sva SetVariableActivity + err := json.Unmarshal(body, &sva) + return sva, err + case string(TypeFilter): + var fa FilterActivity + err := json.Unmarshal(body, &fa) + return fa, err + case string(TypeValidation): + var va ValidationActivity + err := json.Unmarshal(body, &va) + return va, err + case string(TypeUntil): + var ua UntilActivity + err := json.Unmarshal(body, &ua) + return ua, err + case string(TypeWait): + var wa WaitActivity + err := json.Unmarshal(body, &wa) + return wa, err + case string(TypeForEach): + var fea ForEachActivity + err := json.Unmarshal(body, &fea) + return fea, err + case string(TypeSwitch): + var sa SwitchActivity + err := json.Unmarshal(body, &sa) + return sa, err + case string(TypeIfCondition): + var ica IfConditionActivity + err := json.Unmarshal(body, &ica) + return ica, err + case string(TypeExecutePipeline): + var epa ExecutePipelineActivity + err := json.Unmarshal(body, &epa) + return epa, err + default: + var ca ControlActivity + err := json.Unmarshal(body, &ca) + return ca, err + } +} +func unmarshalBasicControlActivityArray(body []byte) ([]BasicControlActivity, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + caArray := make([]BasicControlActivity, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ca, err := unmarshalBasicControlActivity(*rawMessage) + if err != nil { + return nil, err + } + caArray[index] = ca + } + return caArray, nil +} + +// MarshalJSON is the custom marshaler for ControlActivity. +func (ca ControlActivity) MarshalJSON() ([]byte, error) { + ca.Type = TypeContainer + objectMap := make(map[string]interface{}) + if ca.Name != nil { + objectMap["name"] = ca.Name + } + if ca.Description != nil { + objectMap["description"] = ca.Description + } + if ca.DependsOn != nil { + objectMap["dependsOn"] = ca.DependsOn + } + if ca.UserProperties != nil { + objectMap["userProperties"] = ca.UserProperties + } + if ca.Type != "" { + objectMap["type"] = ca.Type + } + for k, v := range ca.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsControlActivity() (*ControlActivity, bool) { + return &ca, true +} + +// AsBasicControlActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &ca, true +} + +// AsActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsBasicActivity() (BasicActivity, bool) { + return &ca, true +} + +// UnmarshalJSON is the custom unmarshaler for ControlActivity struct. +func (ca *ControlActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ca.AdditionalProperties == nil { + ca.AdditionalProperties = make(map[string]interface{}) + } + ca.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ca.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ca.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ca.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ca.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ca.Type = typeVar + } + } + } + + return nil +} + +// CopyActivity copy activity. +type CopyActivity struct { + // CopyActivityTypeProperties - Copy activity properties. + *CopyActivityTypeProperties `json:"typeProperties,omitempty"` + // Inputs - List of inputs for the activity. + Inputs *[]DatasetReference `json:"inputs,omitempty"` + // Outputs - List of outputs for the activity. + Outputs *[]DatasetReference `json:"outputs,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CopyActivity. +func (ca CopyActivity) MarshalJSON() ([]byte, error) { + ca.Type = TypeCopy + objectMap := make(map[string]interface{}) + if ca.CopyActivityTypeProperties != nil { + objectMap["typeProperties"] = ca.CopyActivityTypeProperties + } + if ca.Inputs != nil { + objectMap["inputs"] = ca.Inputs + } + if ca.Outputs != nil { + objectMap["outputs"] = ca.Outputs + } + if ca.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ca.LinkedServiceName + } + if ca.Policy != nil { + objectMap["policy"] = ca.Policy + } + if ca.Name != nil { + objectMap["name"] = ca.Name + } + if ca.Description != nil { + objectMap["description"] = ca.Description + } + if ca.DependsOn != nil { + objectMap["dependsOn"] = ca.DependsOn + } + if ca.UserProperties != nil { + objectMap["userProperties"] = ca.UserProperties + } + if ca.Type != "" { + objectMap["type"] = ca.Type + } + for k, v := range ca.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsCopyActivity() (*CopyActivity, bool) { + return &ca, true +} + +// AsExecutionActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &ca, true +} + +// AsWebHookActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsBasicActivity() (BasicActivity, bool) { + return &ca, true +} + +// UnmarshalJSON is the custom unmarshaler for CopyActivity struct. +func (ca *CopyActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var copyActivityTypeProperties CopyActivityTypeProperties + err = json.Unmarshal(*v, ©ActivityTypeProperties) + if err != nil { + return err + } + ca.CopyActivityTypeProperties = ©ActivityTypeProperties + } + case "inputs": + if v != nil { + var inputs []DatasetReference + err = json.Unmarshal(*v, &inputs) + if err != nil { + return err + } + ca.Inputs = &inputs + } + case "outputs": + if v != nil { + var outputs []DatasetReference + err = json.Unmarshal(*v, &outputs) + if err != nil { + return err + } + ca.Outputs = &outputs + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ca.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + ca.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ca.AdditionalProperties == nil { + ca.AdditionalProperties = make(map[string]interface{}) + } + ca.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ca.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ca.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ca.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ca.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ca.Type = typeVar + } + } + } + + return nil +} + +// CopyActivityTypeProperties copy activity properties. +type CopyActivityTypeProperties struct { + // Source - Copy activity source. + Source BasicCopySource `json:"source,omitempty"` + // Sink - Copy activity sink. + Sink BasicCopySink `json:"sink,omitempty"` + // Translator - Copy activity translator. If not specified, tabular translator is used. + Translator interface{} `json:"translator,omitempty"` + // EnableStaging - Specifies whether to copy data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean). + EnableStaging interface{} `json:"enableStaging,omitempty"` + // StagingSettings - Specifies interim staging settings when EnableStaging is true. + StagingSettings *StagingSettings `json:"stagingSettings,omitempty"` + // 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. + ParallelCopies interface{} `json:"parallelCopies,omitempty"` + // 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. + DataIntegrationUnits interface{} `json:"dataIntegrationUnits,omitempty"` + // EnableSkipIncompatibleRow - Whether to skip incompatible row. Default value is false. Type: boolean (or Expression with resultType boolean). + EnableSkipIncompatibleRow interface{} `json:"enableSkipIncompatibleRow,omitempty"` + // RedirectIncompatibleRowSettings - Redirect incompatible row settings when EnableSkipIncompatibleRow is true. + RedirectIncompatibleRowSettings *RedirectIncompatibleRowSettings `json:"redirectIncompatibleRowSettings,omitempty"` + // PreserveRules - Preserve Rules. + PreserveRules *[]interface{} `json:"preserveRules,omitempty"` + // Preserve - Preserve rules. + Preserve *[]interface{} `json:"preserve,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for CopyActivityTypeProperties struct. +func (catp *CopyActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "source": + if v != nil { + source, err := unmarshalBasicCopySource(*v) + if err != nil { + return err + } + catp.Source = source + } + case "sink": + if v != nil { + sink, err := unmarshalBasicCopySink(*v) + if err != nil { + return err + } + catp.Sink = sink + } + case "translator": + if v != nil { + var translator interface{} + err = json.Unmarshal(*v, &translator) + if err != nil { + return err + } + catp.Translator = translator + } + case "enableStaging": + if v != nil { + var enableStaging interface{} + err = json.Unmarshal(*v, &enableStaging) + if err != nil { + return err + } + catp.EnableStaging = enableStaging + } + case "stagingSettings": + if v != nil { + var stagingSettings StagingSettings + err = json.Unmarshal(*v, &stagingSettings) + if err != nil { + return err + } + catp.StagingSettings = &stagingSettings + } + case "parallelCopies": + if v != nil { + var parallelCopies interface{} + err = json.Unmarshal(*v, ¶llelCopies) + if err != nil { + return err + } + catp.ParallelCopies = parallelCopies + } + case "dataIntegrationUnits": + if v != nil { + var dataIntegrationUnits interface{} + err = json.Unmarshal(*v, &dataIntegrationUnits) + if err != nil { + return err + } + catp.DataIntegrationUnits = dataIntegrationUnits + } + case "enableSkipIncompatibleRow": + if v != nil { + var enableSkipIncompatibleRow interface{} + err = json.Unmarshal(*v, &enableSkipIncompatibleRow) + if err != nil { + return err + } + catp.EnableSkipIncompatibleRow = enableSkipIncompatibleRow + } + case "redirectIncompatibleRowSettings": + if v != nil { + var redirectIncompatibleRowSettings RedirectIncompatibleRowSettings + err = json.Unmarshal(*v, &redirectIncompatibleRowSettings) + if err != nil { + return err + } + catp.RedirectIncompatibleRowSettings = &redirectIncompatibleRowSettings + } + case "preserveRules": + if v != nil { + var preserveRules []interface{} + err = json.Unmarshal(*v, &preserveRules) + if err != nil { + return err + } + catp.PreserveRules = &preserveRules + } + case "preserve": + if v != nil { + var preserve []interface{} + err = json.Unmarshal(*v, &preserve) + if err != nil { + return err + } + catp.Preserve = &preserve + } + } + } + + return nil +} + +// BasicCopySink a copy activity sink. +type BasicCopySink interface { + AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) + AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) + AsSalesforceSink() (*SalesforceSink, bool) + AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) + AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) + AsDynamicsCrmSink() (*DynamicsCrmSink, bool) + AsDynamicsSink() (*DynamicsSink, bool) + AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) + AsInformixSink() (*InformixSink, bool) + AsOdbcSink() (*OdbcSink, bool) + AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) + AsAzureBlobFSSink() (*AzureBlobFSSink, bool) + AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) + AsOracleSink() (*OracleSink, bool) + AsSQLDWSink() (*SQLDWSink, bool) + AsSQLMISink() (*SQLMISink, bool) + AsAzureSQLSink() (*AzureSQLSink, bool) + AsSQLServerSink() (*SQLServerSink, bool) + AsSQLSink() (*SQLSink, bool) + AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) + AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) + AsFileSystemSink() (*FileSystemSink, bool) + AsBlobSink() (*BlobSink, bool) + AsBinarySink() (*BinarySink, bool) + AsParquetSink() (*ParquetSink, bool) + AsAvroSink() (*AvroSink, bool) + AsAzureTableSink() (*AzureTableSink, bool) + AsAzureQueueSink() (*AzureQueueSink, bool) + AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) + AsAzureMySQLSink() (*AzureMySQLSink, bool) + AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) + AsOrcSink() (*OrcSink, bool) + AsJSONSink() (*JSONSink, bool) + AsDelimitedTextSink() (*DelimitedTextSink, bool) + AsCopySink() (*CopySink, bool) +} + +// CopySink a copy activity sink. +type CopySink struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +func unmarshalBasicCopySink(body []byte) (BasicCopySink, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeCosmosDbMongoDbAPISink): + var cdmdas CosmosDbMongoDbAPISink + err := json.Unmarshal(body, &cdmdas) + return cdmdas, err + case string(TypeSalesforceServiceCloudSink): + var sscs SalesforceServiceCloudSink + err := json.Unmarshal(body, &sscs) + return sscs, err + case string(TypeSalesforceSink): + var ss SalesforceSink + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeAzureDataExplorerSink): + var ades AzureDataExplorerSink + err := json.Unmarshal(body, &ades) + return ades, err + case string(TypeCommonDataServiceForAppsSink): + var cdsfas CommonDataServiceForAppsSink + err := json.Unmarshal(body, &cdsfas) + return cdsfas, err + case string(TypeDynamicsCrmSink): + var dcs DynamicsCrmSink + err := json.Unmarshal(body, &dcs) + return dcs, err + case string(TypeDynamicsSink): + var ds DynamicsSink + err := json.Unmarshal(body, &ds) + return ds, err + case string(TypeMicrosoftAccessSink): + var mas MicrosoftAccessSink + err := json.Unmarshal(body, &mas) + return mas, err + case string(TypeInformixSink): + var is InformixSink + err := json.Unmarshal(body, &is) + return is, err + case string(TypeOdbcSink): + var osVar OdbcSink + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeAzureSearchIndexSink): + var asis AzureSearchIndexSink + err := json.Unmarshal(body, &asis) + return asis, err + case string(TypeAzureBlobFSSink): + var abfs AzureBlobFSSink + err := json.Unmarshal(body, &abfs) + return abfs, err + case string(TypeAzureDataLakeStoreSink): + var adlss AzureDataLakeStoreSink + err := json.Unmarshal(body, &adlss) + return adlss, err + case string(TypeOracleSink): + var osVar OracleSink + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeSQLDWSink): + var sds SQLDWSink + err := json.Unmarshal(body, &sds) + return sds, err + case string(TypeSQLMISink): + var sms SQLMISink + err := json.Unmarshal(body, &sms) + return sms, err + case string(TypeAzureSQLSink): + var ass AzureSQLSink + err := json.Unmarshal(body, &ass) + return ass, err + case string(TypeSQLServerSink): + var sss SQLServerSink + err := json.Unmarshal(body, &sss) + return sss, err + case string(TypeSQLSink): + var ss SQLSink + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeCosmosDbSQLAPISink): + var cdsas CosmosDbSQLAPISink + err := json.Unmarshal(body, &cdsas) + return cdsas, err + case string(TypeDocumentDbCollectionSink): + var ddcs DocumentDbCollectionSink + err := json.Unmarshal(body, &ddcs) + return ddcs, err + case string(TypeFileSystemSink): + var fss FileSystemSink + err := json.Unmarshal(body, &fss) + return fss, err + case string(TypeBlobSink): + var bs BlobSink + err := json.Unmarshal(body, &bs) + return bs, err + case string(TypeBinarySink): + var bs BinarySink + err := json.Unmarshal(body, &bs) + return bs, err + case string(TypeParquetSink): + var ps ParquetSink + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypeAvroSink): + var as AvroSink + err := json.Unmarshal(body, &as) + return as, err + case string(TypeAzureTableSink): + var ats AzureTableSink + err := json.Unmarshal(body, &ats) + return ats, err + case string(TypeAzureQueueSink): + var aqs AzureQueueSink + err := json.Unmarshal(body, &aqs) + return aqs, err + case string(TypeSapCloudForCustomerSink): + var scfcs SapCloudForCustomerSink + err := json.Unmarshal(body, &scfcs) + return scfcs, err + case string(TypeAzureMySQLSink): + var amss AzureMySQLSink + err := json.Unmarshal(body, &amss) + return amss, err + case string(TypeAzurePostgreSQLSink): + var apss AzurePostgreSQLSink + err := json.Unmarshal(body, &apss) + return apss, err + case string(TypeOrcSink): + var osVar OrcSink + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeJSONSink): + var js JSONSink + err := json.Unmarshal(body, &js) + return js, err + case string(TypeDelimitedTextSink): + var dts DelimitedTextSink + err := json.Unmarshal(body, &dts) + return dts, err + default: + var cs CopySink + err := json.Unmarshal(body, &cs) + return cs, err + } +} +func unmarshalBasicCopySinkArray(body []byte) ([]BasicCopySink, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + csArray := make([]BasicCopySink, len(rawMessages)) + + for index, rawMessage := range rawMessages { + cs, err := unmarshalBasicCopySink(*rawMessage) + if err != nil { + return nil, err + } + csArray[index] = cs + } + return csArray, nil +} + +// MarshalJSON is the custom marshaler for CopySink. +func (cs CopySink) MarshalJSON() ([]byte, error) { + cs.Type = TypeCopySink + objectMap := make(map[string]interface{}) + if cs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = cs.WriteBatchSize + } + if cs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = cs.WriteBatchTimeout + } + if cs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = cs.SinkRetryCount + } + if cs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = cs.SinkRetryWait + } + if cs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections + } + if cs.Type != "" { + objectMap["type"] = cs.Type + } + for k, v := range cs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsCopySink() (*CopySink, bool) { + return &cs, true +} + +// AsBasicCopySink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsBasicCopySink() (BasicCopySink, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for CopySink struct. +func (cs *CopySink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cs.AdditionalProperties == nil { + cs.AdditionalProperties = make(map[string]interface{}) + } + cs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + cs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + cs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + cs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + cs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = typeVar + } + } + } + + return nil +} + +// BasicCopySource a copy activity source. +type BasicCopySource interface { + AsHTTPSource() (*HTTPSource, bool) + AsAzureBlobFSSource() (*AzureBlobFSSource, bool) + AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) + AsOffice365Source() (*Office365Source, bool) + AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) + AsMongoDbV2Source() (*MongoDbV2Source, bool) + AsMongoDbSource() (*MongoDbSource, bool) + AsWebSource() (*WebSource, bool) + AsOracleSource() (*OracleSource, bool) + AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) + AsHdfsSource() (*HdfsSource, bool) + AsFileSystemSource() (*FileSystemSource, bool) + AsRestSource() (*RestSource, bool) + AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) + AsODataSource() (*ODataSource, bool) + AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) + AsRelationalSource() (*RelationalSource, bool) + AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) + AsDynamicsCrmSource() (*DynamicsCrmSource, bool) + AsDynamicsSource() (*DynamicsSource, bool) + AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) + AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) + AsBlobSource() (*BlobSource, bool) + AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) + AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) + AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) + AsDynamicsAXSource() (*DynamicsAXSource, bool) + AsResponsysSource() (*ResponsysSource, bool) + AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) + AsVerticaSource() (*VerticaSource, bool) + AsNetezzaSource() (*NetezzaSource, bool) + AsZohoSource() (*ZohoSource, bool) + AsXeroSource() (*XeroSource, bool) + AsSquareSource() (*SquareSource, bool) + AsSparkSource() (*SparkSource, bool) + AsShopifySource() (*ShopifySource, bool) + AsServiceNowSource() (*ServiceNowSource, bool) + AsQuickBooksSource() (*QuickBooksSource, bool) + AsPrestoSource() (*PrestoSource, bool) + AsPhoenixSource() (*PhoenixSource, bool) + AsPaypalSource() (*PaypalSource, bool) + AsMarketoSource() (*MarketoSource, bool) + AsAzureMariaDBSource() (*AzureMariaDBSource, bool) + AsMariaDBSource() (*MariaDBSource, bool) + AsMagentoSource() (*MagentoSource, bool) + AsJiraSource() (*JiraSource, bool) + AsImpalaSource() (*ImpalaSource, bool) + AsHubspotSource() (*HubspotSource, bool) + AsHiveSource() (*HiveSource, bool) + AsHBaseSource() (*HBaseSource, bool) + AsGreenplumSource() (*GreenplumSource, bool) + AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) + AsEloquaSource() (*EloquaSource, bool) + AsDrillSource() (*DrillSource, bool) + AsCouchbaseSource() (*CouchbaseSource, bool) + AsConcurSource() (*ConcurSource, bool) + AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) + AsAmazonMWSSource() (*AmazonMWSSource, bool) + AsCassandraSource() (*CassandraSource, bool) + AsTeradataSource() (*TeradataSource, bool) + AsAzureMySQLSource() (*AzureMySQLSource, bool) + AsSQLDWSource() (*SQLDWSource, bool) + AsSQLMISource() (*SQLMISource, bool) + AsAzureSQLSource() (*AzureSQLSource, bool) + AsSQLServerSource() (*SQLServerSource, bool) + AsSQLSource() (*SQLSource, bool) + AsSapTableSource() (*SapTableSource, bool) + AsSapOpenHubSource() (*SapOpenHubSource, bool) + AsSapHanaSource() (*SapHanaSource, bool) + AsSapEccSource() (*SapEccSource, bool) + AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) + AsSalesforceSource() (*SalesforceSource, bool) + AsSapBwSource() (*SapBwSource, bool) + AsSybaseSource() (*SybaseSource, bool) + AsPostgreSQLSource() (*PostgreSQLSource, bool) + AsMySQLSource() (*MySQLSource, bool) + AsOdbcSource() (*OdbcSource, bool) + AsDb2Source() (*Db2Source, bool) + AsInformixSource() (*InformixSource, bool) + AsAzureTableSource() (*AzureTableSource, bool) + AsTabularSource() (*TabularSource, bool) + AsBasicTabularSource() (BasicTabularSource, bool) + AsBinarySource() (*BinarySource, bool) + AsOrcSource() (*OrcSource, bool) + AsJSONSource() (*JSONSource, bool) + AsDelimitedTextSource() (*DelimitedTextSource, bool) + AsParquetSource() (*ParquetSource, bool) + AsAvroSource() (*AvroSource, bool) + AsCopySource() (*CopySource, bool) +} + +// CopySource a copy activity source. +type CopySource struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeHTTPSource): + var hs HTTPSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeAzureBlobFSSource): + var abfs AzureBlobFSSource + err := json.Unmarshal(body, &abfs) + return abfs, err + case string(TypeAzureDataLakeStoreSource): + var adlss AzureDataLakeStoreSource + err := json.Unmarshal(body, &adlss) + return adlss, err + case string(TypeOffice365Source): + var o3s Office365Source + err := json.Unmarshal(body, &o3s) + return o3s, err + case string(TypeCosmosDbMongoDbAPISource): + var cdmdas CosmosDbMongoDbAPISource + err := json.Unmarshal(body, &cdmdas) + return cdmdas, err + case string(TypeMongoDbV2Source): + var mdvs MongoDbV2Source + err := json.Unmarshal(body, &mdvs) + return mdvs, err + case string(TypeMongoDbSource): + var mds MongoDbSource + err := json.Unmarshal(body, &mds) + return mds, err + case string(TypeWebSource): + var ws WebSource + err := json.Unmarshal(body, &ws) + return ws, err + case string(TypeOracleSource): + var osVar OracleSource + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeAzureDataExplorerSource): + var ades AzureDataExplorerSource + err := json.Unmarshal(body, &ades) + return ades, err + case string(TypeHdfsSource): + var hs HdfsSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeFileSystemSource): + var fss FileSystemSource + err := json.Unmarshal(body, &fss) + return fss, err + case string(TypeRestSource): + var rs RestSource + err := json.Unmarshal(body, &rs) + return rs, err + case string(TypeSalesforceServiceCloudSource): + var sscs SalesforceServiceCloudSource + err := json.Unmarshal(body, &sscs) + return sscs, err + case string(TypeODataSource): + var ods ODataSource + err := json.Unmarshal(body, &ods) + return ods, err + case string(TypeMicrosoftAccessSource): + var mas MicrosoftAccessSource + err := json.Unmarshal(body, &mas) + return mas, err + case string(TypeRelationalSource): + var rs RelationalSource + err := json.Unmarshal(body, &rs) + return rs, err + case string(TypeCommonDataServiceForAppsSource): + var cdsfas CommonDataServiceForAppsSource + err := json.Unmarshal(body, &cdsfas) + return cdsfas, err + case string(TypeDynamicsCrmSource): + var dcs DynamicsCrmSource + err := json.Unmarshal(body, &dcs) + return dcs, err + case string(TypeDynamicsSource): + var ds DynamicsSource + err := json.Unmarshal(body, &ds) + return ds, err + case string(TypeCosmosDbSQLAPISource): + var cdsas CosmosDbSQLAPISource + err := json.Unmarshal(body, &cdsas) + return cdsas, err + case string(TypeDocumentDbCollectionSource): + var ddcs DocumentDbCollectionSource + err := json.Unmarshal(body, &ddcs) + return ddcs, err + case string(TypeBlobSource): + var bs BlobSource + err := json.Unmarshal(body, &bs) + return bs, err + case string(TypeAmazonRedshiftSource): + var ars AmazonRedshiftSource + err := json.Unmarshal(body, &ars) + return ars, err + case string(TypeGoogleAdWordsSource): + var gaws GoogleAdWordsSource + err := json.Unmarshal(body, &gaws) + return gaws, err + case string(TypeOracleServiceCloudSource): + var oscs OracleServiceCloudSource + err := json.Unmarshal(body, &oscs) + return oscs, err + case string(TypeDynamicsAXSource): + var das DynamicsAXSource + err := json.Unmarshal(body, &das) + return das, err + case string(TypeResponsysSource): + var rs ResponsysSource + err := json.Unmarshal(body, &rs) + return rs, err + case string(TypeSalesforceMarketingCloudSource): + var smcs SalesforceMarketingCloudSource + err := json.Unmarshal(body, &smcs) + return smcs, err + case string(TypeVerticaSource): + var vs VerticaSource + err := json.Unmarshal(body, &vs) + return vs, err + case string(TypeNetezzaSource): + var ns NetezzaSource + err := json.Unmarshal(body, &ns) + return ns, err + case string(TypeZohoSource): + var zs ZohoSource + err := json.Unmarshal(body, &zs) + return zs, err + case string(TypeXeroSource): + var xs XeroSource + err := json.Unmarshal(body, &xs) + return xs, err + case string(TypeSquareSource): + var ss SquareSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSparkSource): + var ss SparkSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeShopifySource): + var ss ShopifySource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeServiceNowSource): + var sns ServiceNowSource + err := json.Unmarshal(body, &sns) + return sns, err + case string(TypeQuickBooksSource): + var qbs QuickBooksSource + err := json.Unmarshal(body, &qbs) + return qbs, err + case string(TypePrestoSource): + var ps PrestoSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypePhoenixSource): + var ps PhoenixSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypePaypalSource): + var ps PaypalSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypeMarketoSource): + var ms MarketoSource + err := json.Unmarshal(body, &ms) + return ms, err + case string(TypeAzureMariaDBSource): + var amds AzureMariaDBSource + err := json.Unmarshal(body, &amds) + return amds, err + case string(TypeMariaDBSource): + var mds MariaDBSource + err := json.Unmarshal(body, &mds) + return mds, err + case string(TypeMagentoSource): + var ms MagentoSource + err := json.Unmarshal(body, &ms) + return ms, err + case string(TypeJiraSource): + var js JiraSource + err := json.Unmarshal(body, &js) + return js, err + case string(TypeImpalaSource): + var is ImpalaSource + err := json.Unmarshal(body, &is) + return is, err + case string(TypeHubspotSource): + var hs HubspotSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeHiveSource): + var hs HiveSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeHBaseSource): + var hbs HBaseSource + err := json.Unmarshal(body, &hbs) + return hbs, err + case string(TypeGreenplumSource): + var gs GreenplumSource + err := json.Unmarshal(body, &gs) + return gs, err + case string(TypeGoogleBigQuerySource): + var gbqs GoogleBigQuerySource + err := json.Unmarshal(body, &gbqs) + return gbqs, err + case string(TypeEloquaSource): + var es EloquaSource + err := json.Unmarshal(body, &es) + return es, err + case string(TypeDrillSource): + var ds DrillSource + err := json.Unmarshal(body, &ds) + return ds, err + case string(TypeCouchbaseSource): + var cs CouchbaseSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeConcurSource): + var cs ConcurSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeAzurePostgreSQLSource): + var apss AzurePostgreSQLSource + err := json.Unmarshal(body, &apss) + return apss, err + case string(TypeAmazonMWSSource): + var ams AmazonMWSSource + err := json.Unmarshal(body, &ams) + return ams, err + case string(TypeCassandraSource): + var cs CassandraSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeTeradataSource): + var ts TeradataSource + err := json.Unmarshal(body, &ts) + return ts, err + case string(TypeAzureMySQLSource): + var amss AzureMySQLSource + err := json.Unmarshal(body, &amss) + return amss, err + case string(TypeSQLDWSource): + var sds SQLDWSource + err := json.Unmarshal(body, &sds) + return sds, err + case string(TypeSQLMISource): + var sms SQLMISource + err := json.Unmarshal(body, &sms) + return sms, err + case string(TypeAzureSQLSource): + var ass AzureSQLSource + err := json.Unmarshal(body, &ass) + return ass, err + case string(TypeSQLServerSource): + var sss SQLServerSource + err := json.Unmarshal(body, &sss) + return sss, err + case string(TypeSQLSource): + var ss SQLSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSapTableSource): + var sts SapTableSource + err := json.Unmarshal(body, &sts) + return sts, err + case string(TypeSapOpenHubSource): + var sohs SapOpenHubSource + err := json.Unmarshal(body, &sohs) + return sohs, err + case string(TypeSapHanaSource): + var shs SapHanaSource + err := json.Unmarshal(body, &shs) + return shs, err + case string(TypeSapEccSource): + var ses SapEccSource + err := json.Unmarshal(body, &ses) + return ses, err + case string(TypeSapCloudForCustomerSource): + var scfcs SapCloudForCustomerSource + err := json.Unmarshal(body, &scfcs) + return scfcs, err + case string(TypeSalesforceSource): + var ss SalesforceSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSapBwSource): + var sbs SapBwSource + err := json.Unmarshal(body, &sbs) + return sbs, err + case string(TypeSybaseSource): + var ss SybaseSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypePostgreSQLSource): + var pss PostgreSQLSource + err := json.Unmarshal(body, &pss) + return pss, err + case string(TypeMySQLSource): + var mss MySQLSource + err := json.Unmarshal(body, &mss) + return mss, err + case string(TypeOdbcSource): + var osVar OdbcSource + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeDb2Source): + var d2s Db2Source + err := json.Unmarshal(body, &d2s) + return d2s, err + case string(TypeInformixSource): + var is InformixSource + err := json.Unmarshal(body, &is) + return is, err + case string(TypeAzureTableSource): + var ats AzureTableSource + err := json.Unmarshal(body, &ats) + return ats, err + case string(TypeTabularSource): + var ts TabularSource + err := json.Unmarshal(body, &ts) + return ts, err + case string(TypeBinarySource): + var bs BinarySource + err := json.Unmarshal(body, &bs) + return bs, err + case string(TypeOrcSource): + var osVar OrcSource + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeJSONSource): + var js JSONSource + err := json.Unmarshal(body, &js) + return js, err + case string(TypeDelimitedTextSource): + var dts DelimitedTextSource + err := json.Unmarshal(body, &dts) + return dts, err + case string(TypeParquetSource): + var ps ParquetSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypeAvroSource): + var as AvroSource + err := json.Unmarshal(body, &as) + return as, err + default: + var cs CopySource + err := json.Unmarshal(body, &cs) + return cs, err + } +} +func unmarshalBasicCopySourceArray(body []byte) ([]BasicCopySource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + csArray := make([]BasicCopySource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + cs, err := unmarshalBasicCopySource(*rawMessage) + if err != nil { + return nil, err + } + csArray[index] = cs + } + return csArray, nil +} + +// MarshalJSON is the custom marshaler for CopySource. +func (cs CopySource) MarshalJSON() ([]byte, error) { + cs.Type = TypeCopySource + objectMap := make(map[string]interface{}) + if cs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cs.SourceRetryCount + } + if cs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cs.SourceRetryWait + } + if cs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections + } + if cs.Type != "" { + objectMap["type"] = cs.Type + } + for k, v := range cs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCopySource() (*CopySource, bool) { + return &cs, true +} + +// AsBasicCopySource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsBasicCopySource() (BasicCopySource, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for CopySource struct. +func (cs *CopySource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cs.AdditionalProperties == nil { + cs.AdditionalProperties = make(map[string]interface{}) + } + cs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + cs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + cs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbLinkedService microsoft Azure Cosmos Database (CosmosDB) linked service. +type CosmosDbLinkedService struct { + // CosmosDbLinkedServiceTypeProperties - CosmosDB linked service properties. + *CosmosDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) MarshalJSON() ([]byte, error) { + cdls.Type = TypeCosmosDb + objectMap := make(map[string]interface{}) + if cdls.CosmosDbLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = cdls.CosmosDbLinkedServiceTypeProperties + } + if cdls.ConnectVia != nil { + objectMap["connectVia"] = cdls.ConnectVia + } + if cdls.Description != nil { + objectMap["description"] = cdls.Description + } + if cdls.Parameters != nil { + objectMap["parameters"] = cdls.Parameters + } + if cdls.Annotations != nil { + objectMap["annotations"] = cdls.Annotations + } + if cdls.Type != "" { + objectMap["type"] = cdls.Type + } + for k, v := range cdls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return &cdls, true +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cdls, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedService struct. +func (cdls *CosmosDbLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cosmosDbLinkedServiceTypeProperties CosmosDbLinkedServiceTypeProperties + err = json.Unmarshal(*v, &cosmosDbLinkedServiceTypeProperties) + if err != nil { + return err + } + cdls.CosmosDbLinkedServiceTypeProperties = &cosmosDbLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdls.AdditionalProperties == nil { + cdls.AdditionalProperties = make(map[string]interface{}) + } + cdls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cdls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdls.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbLinkedServiceTypeProperties cosmosDB linked service properties. +type CosmosDbLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // AccountEndpoint - The endpoint of the Azure CosmosDB account. Type: string (or Expression with resultType string) + AccountEndpoint interface{} `json:"accountEndpoint,omitempty"` + // Database - The name of the database. Type: string (or Expression with resultType string) + Database interface{} `json:"database,omitempty"` + // AccountKey - The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference. + AccountKey BasicSecretBase `json:"accountKey,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedServiceTypeProperties struct. +func (cdlstp *CosmosDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + cdlstp.ConnectionString = connectionString + } + case "accountEndpoint": + if v != nil { + var accountEndpoint interface{} + err = json.Unmarshal(*v, &accountEndpoint) + if err != nil { + return err + } + cdlstp.AccountEndpoint = accountEndpoint + } + case "database": + if v != nil { + var databaseVar interface{} + err = json.Unmarshal(*v, &databaseVar) + if err != nil { + return err + } + cdlstp.Database = databaseVar + } + case "accountKey": + if v != nil { + accountKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + cdlstp.AccountKey = accountKey + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + cdlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// CosmosDbMongoDbAPICollectionDataset the CosmosDB (MongoDB API) database dataset. +type CosmosDbMongoDbAPICollectionDataset struct { + // CosmosDbMongoDbAPICollectionDatasetTypeProperties - CosmosDB (MongoDB API) database dataset properties. + *CosmosDbMongoDbAPICollectionDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) MarshalJSON() ([]byte, error) { + cdmdacd.Type = TypeCosmosDbMongoDbAPICollection + objectMap := make(map[string]interface{}) + if cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties + } + if cdmdacd.Description != nil { + objectMap["description"] = cdmdacd.Description + } + if cdmdacd.Structure != nil { + objectMap["structure"] = cdmdacd.Structure + } + if cdmdacd.Schema != nil { + objectMap["schema"] = cdmdacd.Schema + } + if cdmdacd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = cdmdacd.LinkedServiceName + } + if cdmdacd.Parameters != nil { + objectMap["parameters"] = cdmdacd.Parameters + } + if cdmdacd.Annotations != nil { + objectMap["annotations"] = cdmdacd.Annotations + } + if cdmdacd.Folder != nil { + objectMap["folder"] = cdmdacd.Folder + } + if cdmdacd.Type != "" { + objectMap["type"] = cdmdacd.Type + } + for k, v := range cdmdacd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return &cdmdacd, true +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &cdmdacd, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPICollectionDataset struct. +func (cdmdacd *CosmosDbMongoDbAPICollectionDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cosmosDbMongoDbAPICollectionDatasetTypeProperties CosmosDbMongoDbAPICollectionDatasetTypeProperties + err = json.Unmarshal(*v, &cosmosDbMongoDbAPICollectionDatasetTypeProperties) + if err != nil { + return err + } + cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties = &cosmosDbMongoDbAPICollectionDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdmdacd.AdditionalProperties == nil { + cdmdacd.AdditionalProperties = make(map[string]interface{}) + } + cdmdacd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdmdacd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + cdmdacd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + cdmdacd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + cdmdacd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdmdacd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdmdacd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + cdmdacd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdmdacd.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbMongoDbAPICollectionDatasetTypeProperties cosmosDB (MongoDB API) database dataset properties. +type CosmosDbMongoDbAPICollectionDatasetTypeProperties struct { + // Collection - The collection name of the CosmosDB (MongoDB API) database. Type: string (or Expression with resultType string). + Collection interface{} `json:"collection,omitempty"` +} + +// CosmosDbMongoDbAPILinkedService linked service for CosmosDB (MongoDB API) data source. +type CosmosDbMongoDbAPILinkedService struct { + // CosmosDbMongoDbAPILinkedServiceTypeProperties - CosmosDB (MongoDB API) linked service properties. + *CosmosDbMongoDbAPILinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) MarshalJSON() ([]byte, error) { + cdmdals.Type = TypeCosmosDbMongoDbAPI + objectMap := make(map[string]interface{}) + if cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties + } + if cdmdals.ConnectVia != nil { + objectMap["connectVia"] = cdmdals.ConnectVia + } + if cdmdals.Description != nil { + objectMap["description"] = cdmdals.Description + } + if cdmdals.Parameters != nil { + objectMap["parameters"] = cdmdals.Parameters + } + if cdmdals.Annotations != nil { + objectMap["annotations"] = cdmdals.Annotations + } + if cdmdals.Type != "" { + objectMap["type"] = cdmdals.Type + } + for k, v := range cdmdals.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return &cdmdals, true +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cdmdals, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPILinkedService struct. +func (cdmdals *CosmosDbMongoDbAPILinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cosmosDbMongoDbAPILinkedServiceTypeProperties CosmosDbMongoDbAPILinkedServiceTypeProperties + err = json.Unmarshal(*v, &cosmosDbMongoDbAPILinkedServiceTypeProperties) + if err != nil { + return err + } + cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties = &cosmosDbMongoDbAPILinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdmdals.AdditionalProperties == nil { + cdmdals.AdditionalProperties = make(map[string]interface{}) + } + cdmdals.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cdmdals.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdmdals.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdmdals.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdmdals.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdmdals.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbMongoDbAPILinkedServiceTypeProperties cosmosDB (MongoDB API) linked service properties. +type CosmosDbMongoDbAPILinkedServiceTypeProperties struct { + // ConnectionString - The CosmosDB (MongoDB API) connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Database - The name of the CosmosDB (MongoDB API) database that you want to access. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` +} + +// CosmosDbMongoDbAPISink a copy activity sink for a CosmosDB (MongoDB API) database. +type CosmosDbMongoDbAPISink struct { + // 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). + WriteBehavior interface{} `json:"writeBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) MarshalJSON() ([]byte, error) { + cdmdas.Type = TypeCosmosDbMongoDbAPISink + objectMap := make(map[string]interface{}) + if cdmdas.WriteBehavior != nil { + objectMap["writeBehavior"] = cdmdas.WriteBehavior + } + if cdmdas.WriteBatchSize != nil { + objectMap["writeBatchSize"] = cdmdas.WriteBatchSize + } + if cdmdas.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = cdmdas.WriteBatchTimeout + } + if cdmdas.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = cdmdas.SinkRetryCount + } + if cdmdas.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = cdmdas.SinkRetryWait + } + if cdmdas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdmdas.MaxConcurrentConnections + } + if cdmdas.Type != "" { + objectMap["type"] = cdmdas.Type + } + for k, v := range cdmdas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return &cdmdas, true +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsBasicCopySink() (BasicCopySink, bool) { + return &cdmdas, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPISink struct. +func (cdmdas *CosmosDbMongoDbAPISink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior interface{} + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + cdmdas.WriteBehavior = writeBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdmdas.AdditionalProperties == nil { + cdmdas.AdditionalProperties = make(map[string]interface{}) + } + cdmdas.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + cdmdas.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + cdmdas.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + cdmdas.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + cdmdas.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cdmdas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdmdas.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbMongoDbAPISource a copy activity source for a CosmosDB (MongoDB API) database. +type CosmosDbMongoDbAPISource struct { + // 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). + Filter interface{} `json:"filter,omitempty"` + // CursorMethods - Cursor methods for Mongodb query. + CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"` + // 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). + BatchSize interface{} `json:"batchSize,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) MarshalJSON() ([]byte, error) { + cdmdas.Type = TypeCosmosDbMongoDbAPISource + objectMap := make(map[string]interface{}) + if cdmdas.Filter != nil { + objectMap["filter"] = cdmdas.Filter + } + if cdmdas.CursorMethods != nil { + objectMap["cursorMethods"] = cdmdas.CursorMethods + } + if cdmdas.BatchSize != nil { + objectMap["batchSize"] = cdmdas.BatchSize + } + if cdmdas.QueryTimeout != nil { + objectMap["queryTimeout"] = cdmdas.QueryTimeout + } + if cdmdas.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cdmdas.SourceRetryCount + } + if cdmdas.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cdmdas.SourceRetryWait + } + if cdmdas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdmdas.MaxConcurrentConnections + } + if cdmdas.Type != "" { + objectMap["type"] = cdmdas.Type + } + for k, v := range cdmdas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return &cdmdas, true +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsBasicCopySource() (BasicCopySource, bool) { + return &cdmdas, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPISource struct. +func (cdmdas *CosmosDbMongoDbAPISource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "filter": + if v != nil { + var filter interface{} + err = json.Unmarshal(*v, &filter) + if err != nil { + return err + } + cdmdas.Filter = filter + } + case "cursorMethods": + if v != nil { + var cursorMethods MongoDbCursorMethodsProperties + err = json.Unmarshal(*v, &cursorMethods) + if err != nil { + return err + } + cdmdas.CursorMethods = &cursorMethods + } + case "batchSize": + if v != nil { + var batchSize interface{} + err = json.Unmarshal(*v, &batchSize) + if err != nil { + return err + } + cdmdas.BatchSize = batchSize + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + cdmdas.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdmdas.AdditionalProperties == nil { + cdmdas.AdditionalProperties = make(map[string]interface{}) + } + cdmdas.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + cdmdas.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + cdmdas.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cdmdas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdmdas.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbSQLAPICollectionDataset microsoft Azure CosmosDB (SQL API) Collection dataset. +type CosmosDbSQLAPICollectionDataset struct { + // CosmosDbSQLAPICollectionDatasetTypeProperties - CosmosDB (SQL API) Collection dataset properties. + *CosmosDbSQLAPICollectionDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) MarshalJSON() ([]byte, error) { + cdsacd.Type = TypeCosmosDbSQLAPICollection + objectMap := make(map[string]interface{}) + if cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties + } + if cdsacd.Description != nil { + objectMap["description"] = cdsacd.Description + } + if cdsacd.Structure != nil { + objectMap["structure"] = cdsacd.Structure + } + if cdsacd.Schema != nil { + objectMap["schema"] = cdsacd.Schema + } + if cdsacd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = cdsacd.LinkedServiceName + } + if cdsacd.Parameters != nil { + objectMap["parameters"] = cdsacd.Parameters + } + if cdsacd.Annotations != nil { + objectMap["annotations"] = cdsacd.Annotations + } + if cdsacd.Folder != nil { + objectMap["folder"] = cdsacd.Folder + } + if cdsacd.Type != "" { + objectMap["type"] = cdsacd.Type + } + for k, v := range cdsacd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return &cdsacd, true +} + +// AsCustomDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &cdsacd, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPICollectionDataset struct. +func (cdsacd *CosmosDbSQLAPICollectionDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cosmosDbSQLAPICollectionDatasetTypeProperties CosmosDbSQLAPICollectionDatasetTypeProperties + err = json.Unmarshal(*v, &cosmosDbSQLAPICollectionDatasetTypeProperties) + if err != nil { + return err + } + cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties = &cosmosDbSQLAPICollectionDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsacd.AdditionalProperties == nil { + cdsacd.AdditionalProperties = make(map[string]interface{}) + } + cdsacd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdsacd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + cdsacd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + cdsacd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + cdsacd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdsacd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdsacd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + cdsacd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsacd.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbSQLAPICollectionDatasetTypeProperties cosmosDB (SQL API) Collection dataset properties. +type CosmosDbSQLAPICollectionDatasetTypeProperties struct { + // CollectionName - CosmosDB (SQL API) collection name. Type: string (or Expression with resultType string). + CollectionName interface{} `json:"collectionName,omitempty"` +} + +// CosmosDbSQLAPISink a copy activity Azure CosmosDB (SQL API) Collection sink. +type CosmosDbSQLAPISink struct { + // WriteBehavior - Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert. + WriteBehavior interface{} `json:"writeBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) MarshalJSON() ([]byte, error) { + cdsas.Type = TypeCosmosDbSQLAPISink + objectMap := make(map[string]interface{}) + if cdsas.WriteBehavior != nil { + objectMap["writeBehavior"] = cdsas.WriteBehavior + } + if cdsas.WriteBatchSize != nil { + objectMap["writeBatchSize"] = cdsas.WriteBatchSize + } + if cdsas.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = cdsas.WriteBatchTimeout + } + if cdsas.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = cdsas.SinkRetryCount + } + if cdsas.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = cdsas.SinkRetryWait + } + if cdsas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdsas.MaxConcurrentConnections + } + if cdsas.Type != "" { + objectMap["type"] = cdsas.Type + } + for k, v := range cdsas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return &cdsas, true +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsBasicCopySink() (BasicCopySink, bool) { + return &cdsas, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPISink struct. +func (cdsas *CosmosDbSQLAPISink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior interface{} + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + cdsas.WriteBehavior = writeBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsas.AdditionalProperties == nil { + cdsas.AdditionalProperties = make(map[string]interface{}) + } + cdsas.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + cdsas.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + cdsas.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + cdsas.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + cdsas.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cdsas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsas.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbSQLAPISource a copy activity Azure CosmosDB (SQL API) Collection source. +type CosmosDbSQLAPISource struct { + // Query - SQL API query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // PageSize - Page size of the result. Type: integer (or Expression with resultType integer). + PageSize interface{} `json:"pageSize,omitempty"` + // PreferredRegions - Preferred regions. Type: array of strings (or Expression with resultType array of strings). + PreferredRegions interface{} `json:"preferredRegions,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) MarshalJSON() ([]byte, error) { + cdsas.Type = TypeCosmosDbSQLAPISource + objectMap := make(map[string]interface{}) + if cdsas.Query != nil { + objectMap["query"] = cdsas.Query + } + if cdsas.PageSize != nil { + objectMap["pageSize"] = cdsas.PageSize + } + if cdsas.PreferredRegions != nil { + objectMap["preferredRegions"] = cdsas.PreferredRegions + } + if cdsas.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cdsas.SourceRetryCount + } + if cdsas.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cdsas.SourceRetryWait + } + if cdsas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdsas.MaxConcurrentConnections + } + if cdsas.Type != "" { + objectMap["type"] = cdsas.Type + } + for k, v := range cdsas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return &cdsas, true +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBasicCopySource() (BasicCopySource, bool) { + return &cdsas, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPISource struct. +func (cdsas *CosmosDbSQLAPISource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + cdsas.Query = query + } + case "pageSize": + if v != nil { + var pageSize interface{} + err = json.Unmarshal(*v, &pageSize) + if err != nil { + return err + } + cdsas.PageSize = pageSize + } + case "preferredRegions": + if v != nil { + var preferredRegions interface{} + err = json.Unmarshal(*v, &preferredRegions) + if err != nil { + return err + } + cdsas.PreferredRegions = preferredRegions + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsas.AdditionalProperties == nil { + cdsas.AdditionalProperties = make(map[string]interface{}) + } + cdsas.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + cdsas.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + cdsas.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cdsas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsas.Type = typeVar + } + } + } + + return nil +} + +// CouchbaseLinkedService couchbase server linked service. +type CouchbaseLinkedService struct { + // CouchbaseLinkedServiceTypeProperties - Couchbase server linked service properties. + *CouchbaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) MarshalJSON() ([]byte, error) { + cls.Type = TypeCouchbase + objectMap := make(map[string]interface{}) + if cls.CouchbaseLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = cls.CouchbaseLinkedServiceTypeProperties + } + if cls.ConnectVia != nil { + objectMap["connectVia"] = cls.ConnectVia + } + if cls.Description != nil { + objectMap["description"] = cls.Description + } + if cls.Parameters != nil { + objectMap["parameters"] = cls.Parameters + } + if cls.Annotations != nil { + objectMap["annotations"] = cls.Annotations + } + if cls.Type != "" { + objectMap["type"] = cls.Type + } + for k, v := range cls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return &cls, true +} + +// AsConcurLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cls, true +} + +// UnmarshalJSON is the custom unmarshaler for CouchbaseLinkedService struct. +func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var couchbaseLinkedServiceTypeProperties CouchbaseLinkedServiceTypeProperties + err = json.Unmarshal(*v, &couchbaseLinkedServiceTypeProperties) + if err != nil { + return err + } + cls.CouchbaseLinkedServiceTypeProperties = &couchbaseLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cls.AdditionalProperties == nil { + cls.AdditionalProperties = make(map[string]interface{}) + } + cls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cls.Type = typeVar + } + } + } + + return nil +} + +// CouchbaseLinkedServiceTypeProperties couchbase server linked service properties. +type CouchbaseLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // CredString - The Azure key vault secret reference of credString in connection string. + CredString *AzureKeyVaultSecretReference `json:"credString,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// CouchbaseSource a copy activity Couchbase server source. +type CouchbaseSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CouchbaseSource. +func (cs CouchbaseSource) MarshalJSON() ([]byte, error) { + cs.Type = TypeCouchbaseSource + objectMap := make(map[string]interface{}) + if cs.Query != nil { + objectMap["query"] = cs.Query + } + if cs.QueryTimeout != nil { + objectMap["queryTimeout"] = cs.QueryTimeout + } + if cs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cs.SourceRetryCount + } + if cs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cs.SourceRetryWait + } + if cs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections + } + if cs.Type != "" { + objectMap["type"] = cs.Type + } + for k, v := range cs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return &cs, true +} + +// AsConcurSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &cs, true +} + +// AsBinarySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBasicCopySource() (BasicCopySource, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for CouchbaseSource struct. +func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + cs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + cs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cs.AdditionalProperties == nil { + cs.AdditionalProperties = make(map[string]interface{}) + } + cs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + cs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + cs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = typeVar + } + } + } + + return nil +} + +// CouchbaseTableDataset couchbase server dataset. +type CouchbaseTableDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) MarshalJSON() ([]byte, error) { + ctd.Type = TypeCouchbaseTable + objectMap := make(map[string]interface{}) + if ctd.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = ctd.GenericDatasetTypeProperties + } + if ctd.Description != nil { + objectMap["description"] = ctd.Description + } + if ctd.Structure != nil { + objectMap["structure"] = ctd.Structure + } + if ctd.Schema != nil { + objectMap["schema"] = ctd.Schema + } + if ctd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ctd.LinkedServiceName + } + if ctd.Parameters != nil { + objectMap["parameters"] = ctd.Parameters + } + if ctd.Annotations != nil { + objectMap["annotations"] = ctd.Annotations + } + if ctd.Folder != nil { + objectMap["folder"] = ctd.Folder + } + if ctd.Type != "" { + objectMap["type"] = ctd.Type + } + for k, v := range ctd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return &ctd, true +} + +// AsConcurObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &ctd, true +} + +// UnmarshalJSON is the custom unmarshaler for CouchbaseTableDataset struct. +func (ctd *CouchbaseTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + ctd.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ctd.AdditionalProperties == nil { + ctd.AdditionalProperties = make(map[string]interface{}) + } + ctd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ctd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + ctd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ctd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ctd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ctd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ctd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ctd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ctd.Type = typeVar + } + } + } + + return nil +} + +// CreateDataFlowDebugSessionRequest request body structure for creating data flow debug session. +type CreateDataFlowDebugSessionRequest struct { + // DataFlowName - The name of the data flow. + DataFlowName *string `json:"dataFlowName,omitempty"` + // ExistingClusterID - The ID of existing Databricks cluster. + ExistingClusterID *string `json:"existingClusterId,omitempty"` + // ClusterTimeout - Timeout setting for Databricks cluster. + ClusterTimeout *int32 `json:"clusterTimeout,omitempty"` + // NewClusterName - The name of new Databricks cluster. + NewClusterName *string `json:"newClusterName,omitempty"` + // NewClusterNodeType - The type of new Databricks cluster. + NewClusterNodeType *string `json:"newClusterNodeType,omitempty"` + // DataBricksLinkedService - Data bricks linked service. + DataBricksLinkedService *LinkedServiceResource `json:"dataBricksLinkedService,omitempty"` +} + +// CreateDataFlowDebugSessionResponse response body structure for creating data flow debug session. +type CreateDataFlowDebugSessionResponse struct { + autorest.Response `json:"-"` + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` +} + +// CreateRunResponse response body with a run identifier. +type CreateRunResponse struct { + autorest.Response `json:"-"` + // RunID - Identifier of a run. + RunID *string `json:"runId,omitempty"` +} + +// CustomActivity custom activity type. +type CustomActivity struct { + // CustomActivityTypeProperties - Custom activity properties. + *CustomActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CustomActivity. +func (ca CustomActivity) MarshalJSON() ([]byte, error) { + ca.Type = TypeCustom + objectMap := make(map[string]interface{}) + if ca.CustomActivityTypeProperties != nil { + objectMap["typeProperties"] = ca.CustomActivityTypeProperties + } + if ca.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ca.LinkedServiceName + } + if ca.Policy != nil { + objectMap["policy"] = ca.Policy + } + if ca.Name != nil { + objectMap["name"] = ca.Name + } + if ca.Description != nil { + objectMap["description"] = ca.Description + } + if ca.DependsOn != nil { + objectMap["dependsOn"] = ca.DependsOn + } + if ca.UserProperties != nil { + objectMap["userProperties"] = ca.UserProperties + } + if ca.Type != "" { + objectMap["type"] = ca.Type + } + for k, v := range ca.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsCustomActivity() (*CustomActivity, bool) { + return &ca, true +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &ca, true +} + +// AsWebHookActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsBasicActivity() (BasicActivity, bool) { + return &ca, true +} + +// UnmarshalJSON is the custom unmarshaler for CustomActivity struct. +func (ca *CustomActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var customActivityTypeProperties CustomActivityTypeProperties + err = json.Unmarshal(*v, &customActivityTypeProperties) + if err != nil { + return err + } + ca.CustomActivityTypeProperties = &customActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ca.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + ca.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ca.AdditionalProperties == nil { + ca.AdditionalProperties = make(map[string]interface{}) + } + ca.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ca.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ca.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ca.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ca.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ca.Type = typeVar + } + } + } + + return nil +} + +// CustomActivityReferenceObject reference objects for custom activity +type CustomActivityReferenceObject struct { + // LinkedServices - Linked service references. + LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"` + // Datasets - Dataset references. + Datasets *[]DatasetReference `json:"datasets,omitempty"` +} + +// CustomActivityTypeProperties custom activity properties. +type CustomActivityTypeProperties struct { + // Command - Command for custom activity Type: string (or Expression with resultType string). + Command interface{} `json:"command,omitempty"` + // ResourceLinkedService - Resource linked service reference. + ResourceLinkedService *LinkedServiceReference `json:"resourceLinkedService,omitempty"` + // FolderPath - Folder path for resource files Type: string (or Expression with resultType string). + FolderPath interface{} `json:"folderPath,omitempty"` + // ReferenceObjects - Reference objects + ReferenceObjects *CustomActivityReferenceObject `json:"referenceObjects,omitempty"` + // 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. + ExtendedProperties map[string]interface{} `json:"extendedProperties"` + // RetentionTimeInDays - The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double). + RetentionTimeInDays interface{} `json:"retentionTimeInDays,omitempty"` +} + +// MarshalJSON is the custom marshaler for CustomActivityTypeProperties. +func (catp CustomActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if catp.Command != nil { + objectMap["command"] = catp.Command + } + if catp.ResourceLinkedService != nil { + objectMap["resourceLinkedService"] = catp.ResourceLinkedService + } + if catp.FolderPath != nil { + objectMap["folderPath"] = catp.FolderPath + } + if catp.ReferenceObjects != nil { + objectMap["referenceObjects"] = catp.ReferenceObjects + } + if catp.ExtendedProperties != nil { + objectMap["extendedProperties"] = catp.ExtendedProperties + } + if catp.RetentionTimeInDays != nil { + objectMap["retentionTimeInDays"] = catp.RetentionTimeInDays + } + return json.Marshal(objectMap) +} + +// CustomDataset the custom dataset. +type CustomDataset struct { + // TypeProperties - Custom dataset properties. + TypeProperties interface{} `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CustomDataset. +func (cd CustomDataset) MarshalJSON() ([]byte, error) { + cd.Type = TypeCustomDataset + objectMap := make(map[string]interface{}) + if cd.TypeProperties != nil { + objectMap["typeProperties"] = cd.TypeProperties + } + if cd.Description != nil { + objectMap["description"] = cd.Description + } + if cd.Structure != nil { + objectMap["structure"] = cd.Structure + } + if cd.Schema != nil { + objectMap["schema"] = cd.Schema + } + if cd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = cd.LinkedServiceName + } + if cd.Parameters != nil { + objectMap["parameters"] = cd.Parameters + } + if cd.Annotations != nil { + objectMap["annotations"] = cd.Annotations + } + if cd.Folder != nil { + objectMap["folder"] = cd.Folder + } + if cd.Type != "" { + objectMap["type"] = cd.Type + } + for k, v := range cd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCustomDataset() (*CustomDataset, bool) { + return &cd, true +} + +// AsCassandraTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsBasicDataset() (BasicDataset, bool) { + return &cd, true +} + +// UnmarshalJSON is the custom unmarshaler for CustomDataset struct. +func (cd *CustomDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var typeProperties interface{} + err = json.Unmarshal(*v, &typeProperties) + if err != nil { + return err + } + cd.TypeProperties = typeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cd.AdditionalProperties == nil { + cd.AdditionalProperties = make(map[string]interface{}) + } + cd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + cd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + cd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + cd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + cd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cd.Type = typeVar + } + } + } + + return nil +} + +// CustomDataSourceLinkedService custom linked service. +type CustomDataSourceLinkedService struct { + // TypeProperties - Custom linked service properties. + TypeProperties interface{} `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) MarshalJSON() ([]byte, error) { + cdsls.Type = TypeCustomDataSource + objectMap := make(map[string]interface{}) + if cdsls.TypeProperties != nil { + objectMap["typeProperties"] = cdsls.TypeProperties + } + if cdsls.ConnectVia != nil { + objectMap["connectVia"] = cdsls.ConnectVia + } + if cdsls.Description != nil { + objectMap["description"] = cdsls.Description + } + if cdsls.Parameters != nil { + objectMap["parameters"] = cdsls.Parameters + } + if cdsls.Annotations != nil { + objectMap["annotations"] = cdsls.Annotations + } + if cdsls.Type != "" { + objectMap["type"] = cdsls.Type + } + for k, v := range cdsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return &cdsls, true +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cdsls, true +} + +// UnmarshalJSON is the custom unmarshaler for CustomDataSourceLinkedService struct. +func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var typeProperties interface{} + err = json.Unmarshal(*v, &typeProperties) + if err != nil { + return err + } + cdsls.TypeProperties = typeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsls.AdditionalProperties == nil { + cdsls.AdditionalProperties = make(map[string]interface{}) + } + cdsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cdsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsls.Type = typeVar + } + } + } + + return nil +} + +// DatabricksNotebookActivity databricksNotebook activity. +type DatabricksNotebookActivity struct { + // DatabricksNotebookActivityTypeProperties - Databricks Notebook activity properties. + *DatabricksNotebookActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) MarshalJSON() ([]byte, error) { + dna.Type = TypeDatabricksNotebook + objectMap := make(map[string]interface{}) + if dna.DatabricksNotebookActivityTypeProperties != nil { + objectMap["typeProperties"] = dna.DatabricksNotebookActivityTypeProperties + } + if dna.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dna.LinkedServiceName + } + if dna.Policy != nil { + objectMap["policy"] = dna.Policy + } + if dna.Name != nil { + objectMap["name"] = dna.Name + } + if dna.Description != nil { + objectMap["description"] = dna.Description + } + if dna.DependsOn != nil { + objectMap["dependsOn"] = dna.DependsOn + } + if dna.UserProperties != nil { + objectMap["userProperties"] = dna.UserProperties + } + if dna.Type != "" { + objectMap["type"] = dna.Type + } + for k, v := range dna.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return &dna, true +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dna, true +} + +// AsWebHookActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsBasicActivity() (BasicActivity, bool) { + return &dna, true +} + +// UnmarshalJSON is the custom unmarshaler for DatabricksNotebookActivity struct. +func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var databricksNotebookActivityTypeProperties DatabricksNotebookActivityTypeProperties + err = json.Unmarshal(*v, &databricksNotebookActivityTypeProperties) + if err != nil { + return err + } + dna.DatabricksNotebookActivityTypeProperties = &databricksNotebookActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dna.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + dna.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dna.AdditionalProperties == nil { + dna.AdditionalProperties = make(map[string]interface{}) + } + dna.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dna.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dna.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + dna.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + dna.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dna.Type = typeVar + } + } + } + + return nil +} + +// DatabricksNotebookActivityTypeProperties databricks notebook activity properties. +type DatabricksNotebookActivityTypeProperties struct { + // 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). + NotebookPath interface{} `json:"notebookPath,omitempty"` + // 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. + BaseParameters map[string]interface{} `json:"baseParameters"` + // Libraries - A list of libraries to be installed on the cluster that will execute the job. + Libraries *[]map[string]interface{} `json:"libraries,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabricksNotebookActivityTypeProperties. +func (dnatp DatabricksNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dnatp.NotebookPath != nil { + objectMap["notebookPath"] = dnatp.NotebookPath + } + if dnatp.BaseParameters != nil { + objectMap["baseParameters"] = dnatp.BaseParameters + } + if dnatp.Libraries != nil { + objectMap["libraries"] = dnatp.Libraries + } + return json.Marshal(objectMap) +} + +// DatabricksSparkJarActivity databricksSparkJar activity. +type DatabricksSparkJarActivity struct { + // DatabricksSparkJarActivityTypeProperties - Databricks SparkJar activity properties. + *DatabricksSparkJarActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) MarshalJSON() ([]byte, error) { + dsja.Type = TypeDatabricksSparkJar + objectMap := make(map[string]interface{}) + if dsja.DatabricksSparkJarActivityTypeProperties != nil { + objectMap["typeProperties"] = dsja.DatabricksSparkJarActivityTypeProperties + } + if dsja.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dsja.LinkedServiceName + } + if dsja.Policy != nil { + objectMap["policy"] = dsja.Policy + } + if dsja.Name != nil { + objectMap["name"] = dsja.Name + } + if dsja.Description != nil { + objectMap["description"] = dsja.Description + } + if dsja.DependsOn != nil { + objectMap["dependsOn"] = dsja.DependsOn + } + if dsja.UserProperties != nil { + objectMap["userProperties"] = dsja.UserProperties + } + if dsja.Type != "" { + objectMap["type"] = dsja.Type + } + for k, v := range dsja.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return &dsja, true +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dsja, true +} + +// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsBasicActivity() (BasicActivity, bool) { + return &dsja, true +} + +// UnmarshalJSON is the custom unmarshaler for DatabricksSparkJarActivity struct. +func (dsja *DatabricksSparkJarActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var databricksSparkJarActivityTypeProperties DatabricksSparkJarActivityTypeProperties + err = json.Unmarshal(*v, &databricksSparkJarActivityTypeProperties) + if err != nil { + return err + } + dsja.DatabricksSparkJarActivityTypeProperties = &databricksSparkJarActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dsja.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + dsja.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dsja.AdditionalProperties == nil { + dsja.AdditionalProperties = make(map[string]interface{}) + } + dsja.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dsja.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dsja.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + dsja.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + dsja.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dsja.Type = typeVar + } + } + } + + return nil +} + +// DatabricksSparkJarActivityTypeProperties databricks SparkJar activity properties. +type DatabricksSparkJarActivityTypeProperties struct { + // 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). + MainClassName interface{} `json:"mainClassName,omitempty"` + // Parameters - Parameters that will be passed to the main method. + Parameters *[]interface{} `json:"parameters,omitempty"` + // Libraries - A list of libraries to be installed on the cluster that will execute the job. + Libraries *[]map[string]interface{} `json:"libraries,omitempty"` +} + +// DatabricksSparkPythonActivity databricksSparkPython activity. +type DatabricksSparkPythonActivity struct { + // DatabricksSparkPythonActivityTypeProperties - Databricks SparkPython activity properties. + *DatabricksSparkPythonActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) MarshalJSON() ([]byte, error) { + dspa.Type = TypeDatabricksSparkPython + objectMap := make(map[string]interface{}) + if dspa.DatabricksSparkPythonActivityTypeProperties != nil { + objectMap["typeProperties"] = dspa.DatabricksSparkPythonActivityTypeProperties + } + if dspa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dspa.LinkedServiceName + } + if dspa.Policy != nil { + objectMap["policy"] = dspa.Policy + } + if dspa.Name != nil { + objectMap["name"] = dspa.Name + } + if dspa.Description != nil { + objectMap["description"] = dspa.Description + } + if dspa.DependsOn != nil { + objectMap["dependsOn"] = dspa.DependsOn + } + if dspa.UserProperties != nil { + objectMap["userProperties"] = dspa.UserProperties + } + if dspa.Type != "" { + objectMap["type"] = dspa.Type + } + for k, v := range dspa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return &dspa, true +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dspa, true +} + +// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsBasicActivity() (BasicActivity, bool) { + return &dspa, true +} + +// UnmarshalJSON is the custom unmarshaler for DatabricksSparkPythonActivity struct. +func (dspa *DatabricksSparkPythonActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var databricksSparkPythonActivityTypeProperties DatabricksSparkPythonActivityTypeProperties + err = json.Unmarshal(*v, &databricksSparkPythonActivityTypeProperties) + if err != nil { + return err + } + dspa.DatabricksSparkPythonActivityTypeProperties = &databricksSparkPythonActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dspa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + dspa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dspa.AdditionalProperties == nil { + dspa.AdditionalProperties = make(map[string]interface{}) + } + dspa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dspa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dspa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + dspa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + dspa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dspa.Type = typeVar + } + } + } + + return nil +} + +// DatabricksSparkPythonActivityTypeProperties databricks SparkPython activity properties. +type DatabricksSparkPythonActivityTypeProperties struct { + // PythonFile - The URI of the Python file to be executed. DBFS paths are supported. Type: string (or Expression with resultType string). + PythonFile interface{} `json:"pythonFile,omitempty"` + // Parameters - Command line parameters that will be passed to the Python file. + Parameters *[]interface{} `json:"parameters,omitempty"` + // Libraries - A list of libraries to be installed on the cluster that will execute the job. + Libraries *[]map[string]interface{} `json:"libraries,omitempty"` +} + +// BasicDataFlow azure Synapse nested object which contains a flow with data movements and transformations. +type BasicDataFlow interface { + AsMappingDataFlow() (*MappingDataFlow, bool) + AsDataFlow() (*DataFlow, bool) +} + +// DataFlow azure Synapse nested object which contains a flow with data movements and transformations. +type DataFlow struct { + // Description - The description of the data flow. + Description *string `json:"description,omitempty"` + // Annotations - List of tags that can be used for describing the data flow. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this data flow is in. If not specified, Data flow will appear at the root level. + Folder *DataFlowFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataFlow', 'TypeMappingDataFlow' + Type TypeBasicDataFlow `json:"type,omitempty"` +} + +func unmarshalBasicDataFlow(body []byte) (BasicDataFlow, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeMappingDataFlow): + var mdf MappingDataFlow + err := json.Unmarshal(body, &mdf) + return mdf, err + default: + var df DataFlow + err := json.Unmarshal(body, &df) + return df, err + } +} +func unmarshalBasicDataFlowArray(body []byte) ([]BasicDataFlow, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dfArray := make([]BasicDataFlow, len(rawMessages)) + + for index, rawMessage := range rawMessages { + df, err := unmarshalBasicDataFlow(*rawMessage) + if err != nil { + return nil, err + } + dfArray[index] = df + } + return dfArray, nil +} + +// MarshalJSON is the custom marshaler for DataFlow. +func (df DataFlow) MarshalJSON() ([]byte, error) { + df.Type = TypeDataFlow + objectMap := make(map[string]interface{}) + if df.Description != nil { + objectMap["description"] = df.Description + } + if df.Annotations != nil { + objectMap["annotations"] = df.Annotations + } + if df.Folder != nil { + objectMap["folder"] = df.Folder + } + if df.Type != "" { + objectMap["type"] = df.Type + } + return json.Marshal(objectMap) +} + +// AsMappingDataFlow is the BasicDataFlow implementation for DataFlow. +func (df DataFlow) AsMappingDataFlow() (*MappingDataFlow, bool) { + return nil, false +} + +// AsDataFlow is the BasicDataFlow implementation for DataFlow. +func (df DataFlow) AsDataFlow() (*DataFlow, bool) { + return &df, true +} + +// AsBasicDataFlow is the BasicDataFlow implementation for DataFlow. +func (df DataFlow) AsBasicDataFlow() (BasicDataFlow, bool) { + return &df, true +} + +// DataFlowDebugCommandRequest request body structure for data flow expression preview. +type DataFlowDebugCommandRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlowName - The data flow which contains the debug session. + DataFlowName *string `json:"dataFlowName,omitempty"` + // CommandName - The command name. + CommandName *string `json:"commandName,omitempty"` + // CommandPayload - The command payload object. + CommandPayload interface{} `json:"commandPayload,omitempty"` +} + +// DataFlowDebugCommandResponse response body structure of data flow result for data preview, statistics or +// expression preview. +type DataFlowDebugCommandResponse struct { + autorest.Response `json:"-"` + // Status - The run status of data preview, statistics or expression preview. + Status *string `json:"status,omitempty"` + // Data - The result data of data preview, statistics or expression preview. + Data *string `json:"data,omitempty"` +} + +// DataFlowDebugPackage request body structure for starting data flow debug session. +type DataFlowDebugPackage struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlow - Data flow instance. + DataFlow *DataFlowDebugResource `json:"dataFlow,omitempty"` + // Datasets - List of datasets. + Datasets *[]DatasetDebugResource `json:"datasets,omitempty"` + // LinkedServices - List of linked services. + LinkedServices *[]LinkedServiceDebugResource `json:"linkedServices,omitempty"` + // Staging - Staging info for debug session. + Staging *DataFlowStagingInfo `json:"staging,omitempty"` + // DebugSettings - Data flow debug settings. + DebugSettings *DataFlowDebugPackageDebugSettings `json:"debugSettings,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataFlowDebugPackage. +func (dfdp DataFlowDebugPackage) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dfdp.SessionID != nil { + objectMap["sessionId"] = dfdp.SessionID + } + if dfdp.DataFlow != nil { + objectMap["dataFlow"] = dfdp.DataFlow + } + if dfdp.Datasets != nil { + objectMap["datasets"] = dfdp.Datasets + } + if dfdp.LinkedServices != nil { + objectMap["linkedServices"] = dfdp.LinkedServices + } + if dfdp.Staging != nil { + objectMap["staging"] = dfdp.Staging + } + if dfdp.DebugSettings != nil { + objectMap["debugSettings"] = dfdp.DebugSettings + } + for k, v := range dfdp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DataFlowDebugPackage struct. +func (dfdp *DataFlowDebugPackage) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dfdp.AdditionalProperties == nil { + dfdp.AdditionalProperties = make(map[string]interface{}) + } + dfdp.AdditionalProperties[k] = additionalProperties + } + case "sessionId": + if v != nil { + var sessionID string + err = json.Unmarshal(*v, &sessionID) + if err != nil { + return err + } + dfdp.SessionID = &sessionID + } + case "dataFlow": + if v != nil { + var dataFlow DataFlowDebugResource + err = json.Unmarshal(*v, &dataFlow) + if err != nil { + return err + } + dfdp.DataFlow = &dataFlow + } + case "datasets": + if v != nil { + var datasets []DatasetDebugResource + err = json.Unmarshal(*v, &datasets) + if err != nil { + return err + } + dfdp.Datasets = &datasets + } + case "linkedServices": + if v != nil { + var linkedServices []LinkedServiceDebugResource + err = json.Unmarshal(*v, &linkedServices) + if err != nil { + return err + } + dfdp.LinkedServices = &linkedServices + } + case "staging": + if v != nil { + var staging DataFlowStagingInfo + err = json.Unmarshal(*v, &staging) + if err != nil { + return err + } + dfdp.Staging = &staging + } + case "debugSettings": + if v != nil { + var debugSettings DataFlowDebugPackageDebugSettings + err = json.Unmarshal(*v, &debugSettings) + if err != nil { + return err + } + dfdp.DebugSettings = &debugSettings + } + } + } + + return nil +} + +// DataFlowDebugPackageDebugSettings data flow debug settings. +type DataFlowDebugPackageDebugSettings struct { + // SourceSettings - Source setting for data flow debug. + SourceSettings *[]DataFlowSourceSetting `json:"sourceSettings,omitempty"` + // Parameters - Data flow parameters. + Parameters map[string]interface{} `json:"parameters"` + // DatasetParameters - Parameters for dataset. + DatasetParameters interface{} `json:"datasetParameters,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataFlowDebugPackageDebugSettings. +func (dfdpS DataFlowDebugPackageDebugSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dfdpS.SourceSettings != nil { + objectMap["sourceSettings"] = dfdpS.SourceSettings + } + if dfdpS.Parameters != nil { + objectMap["parameters"] = dfdpS.Parameters + } + if dfdpS.DatasetParameters != nil { + objectMap["datasetParameters"] = dfdpS.DatasetParameters + } + return json.Marshal(objectMap) +} + +// DataFlowDebugPreviewDataRequest request body structure for data flow preview data. +type DataFlowDebugPreviewDataRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlowName - The data flow which contains the debug session. + DataFlowName *string `json:"dataFlowName,omitempty"` + // StreamName - The output stream name. + StreamName *string `json:"streamName,omitempty"` + // RowLimits - The row limit for preview request. + RowLimits *int32 `json:"rowLimits,omitempty"` +} + +// DataFlowDebugQueryResponse response body structure of data flow query for data preview, statistics or +// expression preview. +type DataFlowDebugQueryResponse struct { + // RunID - The run ID of data flow debug session. + RunID *string `json:"runId,omitempty"` +} + +// DataFlowDebugResource data flow debug resource. +type DataFlowDebugResource struct { + // Properties - Data flow properties. + Properties BasicDataFlow `json:"properties,omitempty"` + // Name - The resource name. + Name *string `json:"name,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DataFlowDebugResource struct. +func (dfdr *DataFlowDebugResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicDataFlow(*v) + if err != nil { + return err + } + dfdr.Properties = properties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dfdr.Name = &name + } + } + } + + return nil +} + +// DataFlowDebugResultResponse response body structure of data flow result for data preview, statistics or +// expression preview. +type DataFlowDebugResultResponse struct { + // Status - The run status of data preview, statistics or expression preview. + Status *string `json:"status,omitempty"` + // Data - The result data of data preview, statistics or expression preview. + Data *string `json:"data,omitempty"` +} + +// DataFlowDebugSessionCreateDataFlowDebugSessionFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type DataFlowDebugSessionCreateDataFlowDebugSessionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DataFlowDebugSessionCreateDataFlowDebugSessionFuture) Result(client DataFlowDebugSessionClient) (cdfdsr CreateDataFlowDebugSessionResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionCreateDataFlowDebugSessionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.DataFlowDebugSessionCreateDataFlowDebugSessionFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cdfdsr.Response.Response, err = future.GetResult(sender); err == nil && cdfdsr.Response.Response.StatusCode != http.StatusNoContent { + cdfdsr, err = client.CreateDataFlowDebugSessionResponder(cdfdsr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionCreateDataFlowDebugSessionFuture", "Result", cdfdsr.Response.Response, "Failure responding to request") + } + } + return +} + +// DataFlowDebugSessionExecuteCommandFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DataFlowDebugSessionExecuteCommandFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DataFlowDebugSessionExecuteCommandFuture) Result(client DataFlowDebugSessionClient) (dfdcr DataFlowDebugCommandResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionExecuteCommandFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.DataFlowDebugSessionExecuteCommandFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dfdcr.Response.Response, err = future.GetResult(sender); err == nil && dfdcr.Response.Response.StatusCode != http.StatusNoContent { + dfdcr, err = client.ExecuteCommandResponder(dfdcr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionExecuteCommandFuture", "Result", dfdcr.Response.Response, "Failure responding to request") + } + } + return +} + +// DataFlowDebugSessionInfo data flow debug session info. +type DataFlowDebugSessionInfo struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // DataFlowName - The name of the data flow. + DataFlowName *string `json:"dataFlowName,omitempty"` + // ComputeType - Compute type of the cluster. + ComputeType *string `json:"computeType,omitempty"` + // CoreCount - Core count of the cluster. + CoreCount *int32 `json:"coreCount,omitempty"` + // NodeCount - Node count of the cluster. (deprecated property) + NodeCount *int32 `json:"nodeCount,omitempty"` + // IntegrationRuntimeName - Attached integration runtime name of data flow debug session. + IntegrationRuntimeName *string `json:"integrationRuntimeName,omitempty"` + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // StartTime - Start time of data flow debug session. + StartTime *string `json:"startTime,omitempty"` + // TimeToLiveInMinutes - Compute type of the cluster. + TimeToLiveInMinutes *int32 `json:"timeToLiveInMinutes,omitempty"` + // LastActivityTime - Last activity time of data flow debug session. + LastActivityTime *string `json:"lastActivityTime,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataFlowDebugSessionInfo. +func (dfdsi DataFlowDebugSessionInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dfdsi.DataFlowName != nil { + objectMap["dataFlowName"] = dfdsi.DataFlowName + } + if dfdsi.ComputeType != nil { + objectMap["computeType"] = dfdsi.ComputeType + } + if dfdsi.CoreCount != nil { + objectMap["coreCount"] = dfdsi.CoreCount + } + if dfdsi.NodeCount != nil { + objectMap["nodeCount"] = dfdsi.NodeCount + } + if dfdsi.IntegrationRuntimeName != nil { + objectMap["integrationRuntimeName"] = dfdsi.IntegrationRuntimeName + } + if dfdsi.SessionID != nil { + objectMap["sessionId"] = dfdsi.SessionID + } + if dfdsi.StartTime != nil { + objectMap["startTime"] = dfdsi.StartTime + } + if dfdsi.TimeToLiveInMinutes != nil { + objectMap["timeToLiveInMinutes"] = dfdsi.TimeToLiveInMinutes + } + if dfdsi.LastActivityTime != nil { + objectMap["lastActivityTime"] = dfdsi.LastActivityTime + } + for k, v := range dfdsi.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DataFlowDebugSessionInfo struct. +func (dfdsi *DataFlowDebugSessionInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dfdsi.AdditionalProperties == nil { + dfdsi.AdditionalProperties = make(map[string]interface{}) + } + dfdsi.AdditionalProperties[k] = additionalProperties + } + case "dataFlowName": + if v != nil { + var dataFlowName string + err = json.Unmarshal(*v, &dataFlowName) + if err != nil { + return err + } + dfdsi.DataFlowName = &dataFlowName + } + case "computeType": + if v != nil { + var computeType string + err = json.Unmarshal(*v, &computeType) + if err != nil { + return err + } + dfdsi.ComputeType = &computeType + } + case "coreCount": + if v != nil { + var coreCount int32 + err = json.Unmarshal(*v, &coreCount) + if err != nil { + return err + } + dfdsi.CoreCount = &coreCount + } + case "nodeCount": + if v != nil { + var nodeCount int32 + err = json.Unmarshal(*v, &nodeCount) + if err != nil { + return err + } + dfdsi.NodeCount = &nodeCount + } + case "integrationRuntimeName": + if v != nil { + var integrationRuntimeName string + err = json.Unmarshal(*v, &integrationRuntimeName) + if err != nil { + return err + } + dfdsi.IntegrationRuntimeName = &integrationRuntimeName + } + case "sessionId": + if v != nil { + var sessionID string + err = json.Unmarshal(*v, &sessionID) + if err != nil { + return err + } + dfdsi.SessionID = &sessionID + } + case "startTime": + if v != nil { + var startTime string + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + dfdsi.StartTime = &startTime + } + case "timeToLiveInMinutes": + if v != nil { + var timeToLiveInMinutes int32 + err = json.Unmarshal(*v, &timeToLiveInMinutes) + if err != nil { + return err + } + dfdsi.TimeToLiveInMinutes = &timeToLiveInMinutes + } + case "lastActivityTime": + if v != nil { + var lastActivityTime string + err = json.Unmarshal(*v, &lastActivityTime) + if err != nil { + return err + } + dfdsi.LastActivityTime = &lastActivityTime + } + } + } + + return nil +} + +// DataFlowDebugStatisticsRequest request body structure for data flow statistics. +type DataFlowDebugStatisticsRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlowName - The data flow which contains the debug session. + DataFlowName *string `json:"dataFlowName,omitempty"` + // StreamName - The output stream name. + StreamName *string `json:"streamName,omitempty"` + // Columns - List of column names. + Columns *[]string `json:"columns,omitempty"` +} + +// DataFlowFolder the folder that this data flow is in. If not specified, Data flow will appear at the root +// level. +type DataFlowFolder struct { + // Name - The name of the folder that this data flow is in. + Name *string `json:"name,omitempty"` +} + +// DataFlowListResponse a list of data flow resources. +type DataFlowListResponse struct { + autorest.Response `json:"-"` + // Value - List of data flows. + Value *[]DataFlowResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// DataFlowListResponseIterator provides access to a complete listing of DataFlowResource values. +type DataFlowListResponseIterator struct { + i int + page DataFlowListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DataFlowListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DataFlowListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DataFlowListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DataFlowListResponseIterator) Response() DataFlowListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DataFlowListResponseIterator) Value() DataFlowResource { + if !iter.page.NotDone() { + return DataFlowResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DataFlowListResponseIterator type. +func NewDataFlowListResponseIterator(page DataFlowListResponsePage) DataFlowListResponseIterator { + return DataFlowListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dflr DataFlowListResponse) IsEmpty() bool { + return dflr.Value == nil || len(*dflr.Value) == 0 +} + +// dataFlowListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dflr DataFlowListResponse) dataFlowListResponsePreparer(ctx context.Context) (*http.Request, error) { + if dflr.NextLink == nil || len(to.String(dflr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dflr.NextLink))) +} + +// DataFlowListResponsePage contains a page of DataFlowResource values. +type DataFlowListResponsePage struct { + fn func(context.Context, DataFlowListResponse) (DataFlowListResponse, error) + dflr DataFlowListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DataFlowListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dflr) + if err != nil { + return err + } + page.dflr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DataFlowListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DataFlowListResponsePage) NotDone() bool { + return !page.dflr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DataFlowListResponsePage) Response() DataFlowListResponse { + return page.dflr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DataFlowListResponsePage) Values() []DataFlowResource { + if page.dflr.IsEmpty() { + return nil + } + return *page.dflr.Value +} + +// Creates a new instance of the DataFlowListResponsePage type. +func NewDataFlowListResponsePage(getNextPage func(context.Context, DataFlowListResponse) (DataFlowListResponse, error)) DataFlowListResponsePage { + return DataFlowListResponsePage{fn: getNextPage} +} + +// DataFlowReference data flow reference type. +type DataFlowReference struct { + // Type - Data flow reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference data flow name. + ReferenceName *string `json:"referenceName,omitempty"` + // DatasetParameters - Reference data flow parameters from dataset. + DatasetParameters interface{} `json:"datasetParameters,omitempty"` +} + +// DataFlowResource data flow resource type. +type DataFlowResource struct { + autorest.Response `json:"-"` + // Properties - Data flow properties. + Properties BasicDataFlow `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DataFlowResource struct. +func (dfr *DataFlowResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicDataFlow(*v) + if err != nil { + return err + } + dfr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dfr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dfr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dfr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dfr.Etag = &etag + } + } + } + + return nil +} + +// DataFlowSink transformation for data flow sink. +type DataFlowSink struct { + // Dataset - Dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // Name - Transformation name. + Name *string `json:"name,omitempty"` + // Description - Transformation description. + Description *string `json:"description,omitempty"` +} + +// DataFlowSource transformation for data flow source. +type DataFlowSource struct { + // Dataset - Dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // Name - Transformation name. + Name *string `json:"name,omitempty"` + // Description - Transformation description. + Description *string `json:"description,omitempty"` +} + +// DataFlowSourceSetting definition of data flow source setting for debug. +type DataFlowSourceSetting struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceName - The data flow source name. + SourceName *string `json:"sourceName,omitempty"` + // RowLimit - Defines the row limit of data flow source in debug. + RowLimit *int32 `json:"rowLimit,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataFlowSourceSetting. +func (dfss DataFlowSourceSetting) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dfss.SourceName != nil { + objectMap["sourceName"] = dfss.SourceName + } + if dfss.RowLimit != nil { + objectMap["rowLimit"] = dfss.RowLimit + } + for k, v := range dfss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DataFlowSourceSetting struct. +func (dfss *DataFlowSourceSetting) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dfss.AdditionalProperties == nil { + dfss.AdditionalProperties = make(map[string]interface{}) + } + dfss.AdditionalProperties[k] = additionalProperties + } + case "sourceName": + if v != nil { + var sourceName string + err = json.Unmarshal(*v, &sourceName) + if err != nil { + return err + } + dfss.SourceName = &sourceName + } + case "rowLimit": + if v != nil { + var rowLimit int32 + err = json.Unmarshal(*v, &rowLimit) + if err != nil { + return err + } + dfss.RowLimit = &rowLimit + } + } + } + + return nil +} + +// DataFlowStagingInfo staging info for execute data flow activity. +type DataFlowStagingInfo struct { + // LinkedService - Staging linked service reference. + LinkedService *LinkedServiceReference `json:"linkedService,omitempty"` + // FolderPath - Folder path for staging blob. + FolderPath *string `json:"folderPath,omitempty"` +} + +// DataLakeAnalyticsUSQLActivity data Lake Analytics U-SQL activity. +type DataLakeAnalyticsUSQLActivity struct { + // DataLakeAnalyticsUSQLActivityTypeProperties - Data Lake Analytics U-SQL activity properties. + *DataLakeAnalyticsUSQLActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) MarshalJSON() ([]byte, error) { + dlaua.Type = TypeDataLakeAnalyticsUSQL + objectMap := make(map[string]interface{}) + if dlaua.DataLakeAnalyticsUSQLActivityTypeProperties != nil { + objectMap["typeProperties"] = dlaua.DataLakeAnalyticsUSQLActivityTypeProperties + } + if dlaua.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dlaua.LinkedServiceName + } + if dlaua.Policy != nil { + objectMap["policy"] = dlaua.Policy + } + if dlaua.Name != nil { + objectMap["name"] = dlaua.Name + } + if dlaua.Description != nil { + objectMap["description"] = dlaua.Description + } + if dlaua.DependsOn != nil { + objectMap["dependsOn"] = dlaua.DependsOn + } + if dlaua.UserProperties != nil { + objectMap["userProperties"] = dlaua.UserProperties + } + if dlaua.Type != "" { + objectMap["type"] = dlaua.Type + } + for k, v := range dlaua.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return &dlaua, true +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dlaua, true +} + +// AsWebHookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicActivity() (BasicActivity, bool) { + return &dlaua, true +} + +// UnmarshalJSON is the custom unmarshaler for DataLakeAnalyticsUSQLActivity struct. +func (dlaua *DataLakeAnalyticsUSQLActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var dataLakeAnalyticsUSQLActivityTypeProperties DataLakeAnalyticsUSQLActivityTypeProperties + err = json.Unmarshal(*v, &dataLakeAnalyticsUSQLActivityTypeProperties) + if err != nil { + return err + } + dlaua.DataLakeAnalyticsUSQLActivityTypeProperties = &dataLakeAnalyticsUSQLActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dlaua.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + dlaua.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dlaua.AdditionalProperties == nil { + dlaua.AdditionalProperties = make(map[string]interface{}) + } + dlaua.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dlaua.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dlaua.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + dlaua.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + dlaua.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dlaua.Type = typeVar + } + } + } + + return nil +} + +// DataLakeAnalyticsUSQLActivityTypeProperties dataLakeAnalyticsU-SQL activity properties. +type DataLakeAnalyticsUSQLActivityTypeProperties struct { + // ScriptPath - Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string). + ScriptPath interface{} `json:"scriptPath,omitempty"` + // ScriptLinkedService - Script linked service reference. + ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` + // 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. + DegreeOfParallelism interface{} `json:"degreeOfParallelism,omitempty"` + // 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. + Priority interface{} `json:"priority,omitempty"` + // Parameters - Parameters for U-SQL job request. + Parameters map[string]interface{} `json:"parameters"` + // RuntimeVersion - Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string). + RuntimeVersion interface{} `json:"runtimeVersion,omitempty"` + // CompilationMode - Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string). + CompilationMode interface{} `json:"compilationMode,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivityTypeProperties. +func (dlauatp DataLakeAnalyticsUSQLActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dlauatp.ScriptPath != nil { + objectMap["scriptPath"] = dlauatp.ScriptPath + } + if dlauatp.ScriptLinkedService != nil { + objectMap["scriptLinkedService"] = dlauatp.ScriptLinkedService + } + if dlauatp.DegreeOfParallelism != nil { + objectMap["degreeOfParallelism"] = dlauatp.DegreeOfParallelism + } + if dlauatp.Priority != nil { + objectMap["priority"] = dlauatp.Priority + } + if dlauatp.Parameters != nil { + objectMap["parameters"] = dlauatp.Parameters + } + if dlauatp.RuntimeVersion != nil { + objectMap["runtimeVersion"] = dlauatp.RuntimeVersion + } + if dlauatp.CompilationMode != nil { + objectMap["compilationMode"] = dlauatp.CompilationMode + } + return json.Marshal(objectMap) +} + +// BasicDataset the Azure Data Factory nested object which identifies data within different data stores, such as +// tables, files, folders, and documents. +type BasicDataset interface { + AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) + AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) + AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) + AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) + AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) + AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) + AsVerticaTableDataset() (*VerticaTableDataset, bool) + AsNetezzaTableDataset() (*NetezzaTableDataset, bool) + AsZohoObjectDataset() (*ZohoObjectDataset, bool) + AsXeroObjectDataset() (*XeroObjectDataset, bool) + AsSquareObjectDataset() (*SquareObjectDataset, bool) + AsSparkObjectDataset() (*SparkObjectDataset, bool) + AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) + AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) + AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) + AsPrestoObjectDataset() (*PrestoObjectDataset, bool) + AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) + AsPaypalObjectDataset() (*PaypalObjectDataset, bool) + AsMarketoObjectDataset() (*MarketoObjectDataset, bool) + AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) + AsMariaDBTableDataset() (*MariaDBTableDataset, bool) + AsMagentoObjectDataset() (*MagentoObjectDataset, bool) + AsJiraObjectDataset() (*JiraObjectDataset, bool) + AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) + AsHubspotObjectDataset() (*HubspotObjectDataset, bool) + AsHiveObjectDataset() (*HiveObjectDataset, bool) + AsHBaseObjectDataset() (*HBaseObjectDataset, bool) + AsGreenplumTableDataset() (*GreenplumTableDataset, bool) + AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) + AsEloquaObjectDataset() (*EloquaObjectDataset, bool) + AsDrillTableDataset() (*DrillTableDataset, bool) + AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) + AsConcurObjectDataset() (*ConcurObjectDataset, bool) + AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) + AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) + AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) + AsWebTableDataset() (*WebTableDataset, bool) + AsSapTableResourceDataset() (*SapTableResourceDataset, bool) + AsRestResourceDataset() (*RestResourceDataset, bool) + AsSQLServerTableDataset() (*SQLServerTableDataset, bool) + AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) + AsSapHanaTableDataset() (*SapHanaTableDataset, bool) + AsSapEccResourceDataset() (*SapEccResourceDataset, bool) + AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) + AsSapBwCubeDataset() (*SapBwCubeDataset, bool) + AsSybaseTableDataset() (*SybaseTableDataset, bool) + AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) + AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) + AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) + AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) + AsMySQLTableDataset() (*MySQLTableDataset, bool) + AsOdbcTableDataset() (*OdbcTableDataset, bool) + AsInformixTableDataset() (*InformixTableDataset, bool) + AsRelationalTableDataset() (*RelationalTableDataset, bool) + AsDb2TableDataset() (*Db2TableDataset, bool) + AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) + AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) + AsTeradataTableDataset() (*TeradataTableDataset, bool) + AsOracleTableDataset() (*OracleTableDataset, bool) + AsODataResourceDataset() (*ODataResourceDataset, bool) + AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) + AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) + AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) + AsOffice365Dataset() (*Office365Dataset, bool) + AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) + AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) + AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) + AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) + AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) + AsCustomDataset() (*CustomDataset, bool) + AsCassandraTableDataset() (*CassandraTableDataset, bool) + AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) + AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) + AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) + AsAzureTableDataset() (*AzureTableDataset, bool) + AsBinaryDataset() (*BinaryDataset, bool) + AsOrcDataset() (*OrcDataset, bool) + AsJSONDataset() (*JSONDataset, bool) + AsDelimitedTextDataset() (*DelimitedTextDataset, bool) + AsParquetDataset() (*ParquetDataset, bool) + AsAvroDataset() (*AvroDataset, bool) + AsDataset() (*Dataset, bool) +} + +// Dataset the Azure Data Factory nested object which identifies data within different data stores, such as +// tables, files, folders, and documents. +type Dataset struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +func unmarshalBasicDataset(body []byte) (BasicDataset, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeGoogleAdWordsObject): + var gawod GoogleAdWordsObjectDataset + err := json.Unmarshal(body, &gawod) + return gawod, err + case string(TypeAzureDataExplorerTable): + var adetd AzureDataExplorerTableDataset + err := json.Unmarshal(body, &adetd) + return adetd, err + case string(TypeOracleServiceCloudObject): + var oscod OracleServiceCloudObjectDataset + err := json.Unmarshal(body, &oscod) + return oscod, err + case string(TypeDynamicsAXResource): + var dard DynamicsAXResourceDataset + err := json.Unmarshal(body, &dard) + return dard, err + case string(TypeResponsysObject): + var rod ResponsysObjectDataset + err := json.Unmarshal(body, &rod) + return rod, err + case string(TypeSalesforceMarketingCloudObject): + var smcod SalesforceMarketingCloudObjectDataset + err := json.Unmarshal(body, &smcod) + return smcod, err + case string(TypeVerticaTable): + var vtd VerticaTableDataset + err := json.Unmarshal(body, &vtd) + return vtd, err + case string(TypeNetezzaTable): + var ntd NetezzaTableDataset + err := json.Unmarshal(body, &ntd) + return ntd, err + case string(TypeZohoObject): + var zod ZohoObjectDataset + err := json.Unmarshal(body, &zod) + return zod, err + case string(TypeXeroObject): + var xod XeroObjectDataset + err := json.Unmarshal(body, &xod) + return xod, err + case string(TypeSquareObject): + var sod SquareObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeSparkObject): + var sod SparkObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeShopifyObject): + var sod ShopifyObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeServiceNowObject): + var snod ServiceNowObjectDataset + err := json.Unmarshal(body, &snod) + return snod, err + case string(TypeQuickBooksObject): + var qbod QuickBooksObjectDataset + err := json.Unmarshal(body, &qbod) + return qbod, err + case string(TypePrestoObject): + var pod PrestoObjectDataset + err := json.Unmarshal(body, &pod) + return pod, err + case string(TypePhoenixObject): + var pod PhoenixObjectDataset + err := json.Unmarshal(body, &pod) + return pod, err + case string(TypePaypalObject): + var pod PaypalObjectDataset + err := json.Unmarshal(body, &pod) + return pod, err + case string(TypeMarketoObject): + var mod MarketoObjectDataset + err := json.Unmarshal(body, &mod) + return mod, err + case string(TypeAzureMariaDBTable): + var amdtd AzureMariaDBTableDataset + err := json.Unmarshal(body, &amdtd) + return amdtd, err + case string(TypeMariaDBTable): + var mdtd MariaDBTableDataset + err := json.Unmarshal(body, &mdtd) + return mdtd, err + case string(TypeMagentoObject): + var mod MagentoObjectDataset + err := json.Unmarshal(body, &mod) + return mod, err + case string(TypeJiraObject): + var jod JiraObjectDataset + err := json.Unmarshal(body, &jod) + return jod, err + case string(TypeImpalaObject): + var iod ImpalaObjectDataset + err := json.Unmarshal(body, &iod) + return iod, err + case string(TypeHubspotObject): + var hod HubspotObjectDataset + err := json.Unmarshal(body, &hod) + return hod, err + case string(TypeHiveObject): + var hod HiveObjectDataset + err := json.Unmarshal(body, &hod) + return hod, err + case string(TypeHBaseObject): + var hbod HBaseObjectDataset + err := json.Unmarshal(body, &hbod) + return hbod, err + case string(TypeGreenplumTable): + var gtd GreenplumTableDataset + err := json.Unmarshal(body, >d) + return gtd, err + case string(TypeGoogleBigQueryObject): + var gbqod GoogleBigQueryObjectDataset + err := json.Unmarshal(body, &gbqod) + return gbqod, err + case string(TypeEloquaObject): + var eod EloquaObjectDataset + err := json.Unmarshal(body, &eod) + return eod, err + case string(TypeDrillTable): + var dtd DrillTableDataset + err := json.Unmarshal(body, &dtd) + return dtd, err + case string(TypeCouchbaseTable): + var ctd CouchbaseTableDataset + err := json.Unmarshal(body, &ctd) + return ctd, err + case string(TypeConcurObject): + var cod ConcurObjectDataset + err := json.Unmarshal(body, &cod) + return cod, err + case string(TypeAzurePostgreSQLTable): + var apstd AzurePostgreSQLTableDataset + err := json.Unmarshal(body, &apstd) + return apstd, err + case string(TypeAmazonMWSObject): + var amod AmazonMWSObjectDataset + err := json.Unmarshal(body, &amod) + return amod, err + case string(TypeAzureSearchIndex): + var asid AzureSearchIndexDataset + err := json.Unmarshal(body, &asid) + return asid, err + case string(TypeWebTable): + var wtd WebTableDataset + err := json.Unmarshal(body, &wtd) + return wtd, err + case string(TypeSapTableResource): + var strd SapTableResourceDataset + err := json.Unmarshal(body, &strd) + return strd, err + case string(TypeRestResource): + var rrd RestResourceDataset + err := json.Unmarshal(body, &rrd) + return rrd, err + case string(TypeSQLServerTable): + var sstd SQLServerTableDataset + err := json.Unmarshal(body, &sstd) + return sstd, err + case string(TypeSapOpenHubTable): + var sohtd SapOpenHubTableDataset + err := json.Unmarshal(body, &sohtd) + return sohtd, err + case string(TypeSapHanaTable): + var shtd SapHanaTableDataset + err := json.Unmarshal(body, &shtd) + return shtd, err + case string(TypeSapEccResource): + var serd SapEccResourceDataset + err := json.Unmarshal(body, &serd) + return serd, err + case string(TypeSapCloudForCustomerResource): + var scfcrd SapCloudForCustomerResourceDataset + err := json.Unmarshal(body, &scfcrd) + return scfcrd, err + case string(TypeSapBwCube): + var sbcd SapBwCubeDataset + err := json.Unmarshal(body, &sbcd) + return sbcd, err + case string(TypeSybaseTable): + var std SybaseTableDataset + err := json.Unmarshal(body, &std) + return std, err + case string(TypeSalesforceServiceCloudObject): + var sscod SalesforceServiceCloudObjectDataset + err := json.Unmarshal(body, &sscod) + return sscod, err + case string(TypeSalesforceObject): + var sod SalesforceObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeMicrosoftAccessTable): + var matd MicrosoftAccessTableDataset + err := json.Unmarshal(body, &matd) + return matd, err + case string(TypePostgreSQLTable): + var pstd PostgreSQLTableDataset + err := json.Unmarshal(body, &pstd) + return pstd, err + case string(TypeMySQLTable): + var mstd MySQLTableDataset + err := json.Unmarshal(body, &mstd) + return mstd, err + case string(TypeOdbcTable): + var otd OdbcTableDataset + err := json.Unmarshal(body, &otd) + return otd, err + case string(TypeInformixTable): + var itd InformixTableDataset + err := json.Unmarshal(body, &itd) + return itd, err + case string(TypeRelationalTable): + var rtd RelationalTableDataset + err := json.Unmarshal(body, &rtd) + return rtd, err + case string(TypeDb2Table): + var d2td Db2TableDataset + err := json.Unmarshal(body, &d2td) + return d2td, err + case string(TypeAmazonRedshiftTable): + var artd AmazonRedshiftTableDataset + err := json.Unmarshal(body, &artd) + return artd, err + case string(TypeAzureMySQLTable): + var amstd AzureMySQLTableDataset + err := json.Unmarshal(body, &amstd) + return amstd, err + case string(TypeTeradataTable): + var ttd TeradataTableDataset + err := json.Unmarshal(body, &ttd) + return ttd, err + case string(TypeOracleTable): + var otd OracleTableDataset + err := json.Unmarshal(body, &otd) + return otd, err + case string(TypeODataResource): + var odrd ODataResourceDataset + err := json.Unmarshal(body, &odrd) + return odrd, err + case string(TypeCosmosDbMongoDbAPICollection): + var cdmdacd CosmosDbMongoDbAPICollectionDataset + err := json.Unmarshal(body, &cdmdacd) + return cdmdacd, err + case string(TypeMongoDbV2Collection): + var mdvcd MongoDbV2CollectionDataset + err := json.Unmarshal(body, &mdvcd) + return mdvcd, err + case string(TypeMongoDbCollection): + var mdcd MongoDbCollectionDataset + err := json.Unmarshal(body, &mdcd) + return mdcd, err + case string(TypeOffice365Table): + var o3d Office365Dataset + err := json.Unmarshal(body, &o3d) + return o3d, err + case string(TypeCommonDataServiceForAppsEntity): + var cdsfaed CommonDataServiceForAppsEntityDataset + err := json.Unmarshal(body, &cdsfaed) + return cdsfaed, err + case string(TypeDynamicsCrmEntity): + var dced DynamicsCrmEntityDataset + err := json.Unmarshal(body, &dced) + return dced, err + case string(TypeDynamicsEntity): + var ded DynamicsEntityDataset + err := json.Unmarshal(body, &ded) + return ded, err + case string(TypeDocumentDbCollection): + var ddcd DocumentDbCollectionDataset + err := json.Unmarshal(body, &ddcd) + return ddcd, err + case string(TypeCosmosDbSQLAPICollection): + var cdsacd CosmosDbSQLAPICollectionDataset + err := json.Unmarshal(body, &cdsacd) + return cdsacd, err + case string(TypeCustomDataset): + var cd CustomDataset + err := json.Unmarshal(body, &cd) + return cd, err + case string(TypeCassandraTable): + var ctd CassandraTableDataset + err := json.Unmarshal(body, &ctd) + return ctd, err + case string(TypeAzureSQLDWTable): + var asdtd AzureSQLDWTableDataset + err := json.Unmarshal(body, &asdtd) + return asdtd, err + case string(TypeAzureSQLMITable): + var asmtd AzureSQLMITableDataset + err := json.Unmarshal(body, &asmtd) + return asmtd, err + case string(TypeAzureSQLTable): + var astd AzureSQLTableDataset + err := json.Unmarshal(body, &astd) + return astd, err + case string(TypeAzureTable): + var atd AzureTableDataset + err := json.Unmarshal(body, &atd) + return atd, err + case string(TypeBinary): + var bd BinaryDataset + err := json.Unmarshal(body, &bd) + return bd, err + case string(TypeOrc): + var od OrcDataset + err := json.Unmarshal(body, &od) + return od, err + case string(TypeJSON): + var jd JSONDataset + err := json.Unmarshal(body, &jd) + return jd, err + case string(TypeDelimitedText): + var dtd DelimitedTextDataset + err := json.Unmarshal(body, &dtd) + return dtd, err + case string(TypeParquet): + var pd ParquetDataset + err := json.Unmarshal(body, &pd) + return pd, err + case string(TypeAvro): + var ad AvroDataset + err := json.Unmarshal(body, &ad) + return ad, err + default: + var d Dataset + err := json.Unmarshal(body, &d) + return d, err + } +} +func unmarshalBasicDatasetArray(body []byte) ([]BasicDataset, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dArray := make([]BasicDataset, len(rawMessages)) + + for index, rawMessage := range rawMessages { + d, err := unmarshalBasicDataset(*rawMessage) + if err != nil { + return nil, err + } + dArray[index] = d + } + return dArray, nil +} + +// MarshalJSON is the custom marshaler for Dataset. +func (d Dataset) MarshalJSON() ([]byte, error) { + d.Type = TypeDataset + objectMap := make(map[string]interface{}) + if d.Description != nil { + objectMap["description"] = d.Description + } + if d.Structure != nil { + objectMap["structure"] = d.Structure + } + if d.Schema != nil { + objectMap["schema"] = d.Schema + } + if d.LinkedServiceName != nil { + objectMap["linkedServiceName"] = d.LinkedServiceName + } + if d.Parameters != nil { + objectMap["parameters"] = d.Parameters + } + if d.Annotations != nil { + objectMap["annotations"] = d.Annotations + } + if d.Folder != nil { + objectMap["folder"] = d.Folder + } + if d.Type != "" { + objectMap["type"] = d.Type + } + for k, v := range d.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDataset() (*Dataset, bool) { + return &d, true +} + +// AsBasicDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsBasicDataset() (BasicDataset, bool) { + return &d, true +} + +// UnmarshalJSON is the custom unmarshaler for Dataset struct. +func (d *Dataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if d.AdditionalProperties == nil { + d.AdditionalProperties = make(map[string]interface{}) + } + d.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + d.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + d.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + d.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + d.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + d.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + d.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + d.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d.Type = typeVar + } + } + } + + return nil +} + +// DatasetBZip2Compression the BZip2 compression method used on a dataset. +type DatasetBZip2Compression struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) MarshalJSON() ([]byte, error) { + dbz2c.Type = TypeBZip2 + objectMap := make(map[string]interface{}) + if dbz2c.Type != "" { + objectMap["type"] = dbz2c.Type + } + for k, v := range dbz2c.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { + return nil, false +} + +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { + return nil, false +} + +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { + return nil, false +} + +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { + return &dbz2c, true +} + +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetCompression() (*DatasetCompression, bool) { + return nil, false +} + +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dbz2c, true +} + +// UnmarshalJSON is the custom unmarshaler for DatasetBZip2Compression struct. +func (dbz2c *DatasetBZip2Compression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dbz2c.AdditionalProperties == nil { + dbz2c.AdditionalProperties = make(map[string]interface{}) + } + dbz2c.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dbz2c.Type = typeVar + } + } + } + + return nil +} + +// BasicDatasetCompression the compression method used on a dataset. +type BasicDatasetCompression interface { + AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) + AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) + AsDatasetGZipCompression() (*DatasetGZipCompression, bool) + AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) + AsDatasetCompression() (*DatasetCompression, bool) +} + +// DatasetCompression the compression method used on a dataset. +type DatasetCompression struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` +} + +func unmarshalBasicDatasetCompression(body []byte) (BasicDatasetCompression, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeZipDeflate): + var dzdc DatasetZipDeflateCompression + err := json.Unmarshal(body, &dzdc) + return dzdc, err + case string(TypeDeflate): + var ddc DatasetDeflateCompression + err := json.Unmarshal(body, &ddc) + return ddc, err + case string(TypeGZip): + var dgzc DatasetGZipCompression + err := json.Unmarshal(body, &dgzc) + return dgzc, err + case string(TypeBZip2): + var dbz2c DatasetBZip2Compression + err := json.Unmarshal(body, &dbz2c) + return dbz2c, err + default: + var dc DatasetCompression + err := json.Unmarshal(body, &dc) + return dc, err + } +} +func unmarshalBasicDatasetCompressionArray(body []byte) ([]BasicDatasetCompression, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dcArray := make([]BasicDatasetCompression, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dc, err := unmarshalBasicDatasetCompression(*rawMessage) + if err != nil { + return nil, err + } + dcArray[index] = dc + } + return dcArray, nil +} + +// MarshalJSON is the custom marshaler for DatasetCompression. +func (dc DatasetCompression) MarshalJSON() ([]byte, error) { + dc.Type = TypeDatasetCompression + objectMap := make(map[string]interface{}) + if dc.Type != "" { + objectMap["type"] = dc.Type + } + for k, v := range dc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { + return nil, false +} + +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { + return nil, false +} + +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { + return nil, false +} + +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { + return nil, false +} + +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetCompression() (*DatasetCompression, bool) { + return &dc, true +} + +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dc, true +} + +// UnmarshalJSON is the custom unmarshaler for DatasetCompression struct. +func (dc *DatasetCompression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dc.AdditionalProperties == nil { + dc.AdditionalProperties = make(map[string]interface{}) + } + dc.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dc.Type = typeVar + } + } + } + + return nil +} + +// DatasetDebugResource dataset debug resource. +type DatasetDebugResource struct { + // Properties - Dataset properties. + Properties BasicDataset `json:"properties,omitempty"` + // Name - The resource name. + Name *string `json:"name,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DatasetDebugResource struct. +func (ddr *DatasetDebugResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicDataset(*v) + if err != nil { + return err + } + ddr.Properties = properties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ddr.Name = &name + } + } + } + + return nil +} + +// DatasetDeflateCompression the Deflate compression method used on a dataset. +type DatasetDeflateCompression struct { + // Level - The Deflate compression level. Possible values include: 'Optimal', 'Fastest' + Level DatasetCompressionLevel `json:"level,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) MarshalJSON() ([]byte, error) { + ddc.Type = TypeDeflate + objectMap := make(map[string]interface{}) + if ddc.Level != "" { + objectMap["level"] = ddc.Level + } + if ddc.Type != "" { + objectMap["type"] = ddc.Type + } + for k, v := range ddc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { + return nil, false +} + +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { + return &ddc, true +} + +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { + return nil, false +} + +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { + return nil, false +} + +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) { + return nil, false +} + +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &ddc, true +} + +// UnmarshalJSON is the custom unmarshaler for DatasetDeflateCompression struct. +func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "level": + if v != nil { + var level DatasetCompressionLevel + err = json.Unmarshal(*v, &level) + if err != nil { + return err + } + ddc.Level = level + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ddc.AdditionalProperties == nil { + ddc.AdditionalProperties = make(map[string]interface{}) + } + ddc.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ddc.Type = typeVar + } + } + } + + return nil +} + +// DatasetFolder the folder that this Dataset is in. If not specified, Dataset will appear at the root +// level. +type DatasetFolder struct { + // Name - The name of the folder that this Dataset is in. + Name *string `json:"name,omitempty"` +} + +// DatasetGZipCompression the GZip compression method used on a dataset. +type DatasetGZipCompression struct { + // Level - The GZip compression level. Possible values include: 'Optimal', 'Fastest' + Level DatasetCompressionLevel `json:"level,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) MarshalJSON() ([]byte, error) { + dgzc.Type = TypeGZip + objectMap := make(map[string]interface{}) + if dgzc.Level != "" { + objectMap["level"] = dgzc.Level + } + if dgzc.Type != "" { + objectMap["type"] = dgzc.Type + } + for k, v := range dgzc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { + return nil, false +} + +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { + return nil, false +} + +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { + return &dgzc, true +} + +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { + return nil, false +} + +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetCompression() (*DatasetCompression, bool) { + return nil, false +} + +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dgzc, true +} + +// UnmarshalJSON is the custom unmarshaler for DatasetGZipCompression struct. +func (dgzc *DatasetGZipCompression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "level": + if v != nil { + var level DatasetCompressionLevel + err = json.Unmarshal(*v, &level) + if err != nil { + return err + } + dgzc.Level = level + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dgzc.AdditionalProperties == nil { + dgzc.AdditionalProperties = make(map[string]interface{}) + } + dgzc.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dgzc.Type = typeVar + } + } + } + + return nil +} + +// DatasetListResponse a list of dataset resources. +type DatasetListResponse struct { + autorest.Response `json:"-"` + // Value - List of datasets. + Value *[]DatasetResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// DatasetListResponseIterator provides access to a complete listing of DatasetResource values. +type DatasetListResponseIterator struct { + i int + page DatasetListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DatasetListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DatasetListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DatasetListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DatasetListResponseIterator) Response() DatasetListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DatasetListResponseIterator) Value() DatasetResource { + if !iter.page.NotDone() { + return DatasetResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DatasetListResponseIterator type. +func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator { + return DatasetListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dlr DatasetListResponse) IsEmpty() bool { + return dlr.Value == nil || len(*dlr.Value) == 0 +} + +// datasetListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dlr DatasetListResponse) datasetListResponsePreparer(ctx context.Context) (*http.Request, error) { + if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dlr.NextLink))) +} + +// DatasetListResponsePage contains a page of DatasetResource values. +type DatasetListResponsePage struct { + fn func(context.Context, DatasetListResponse) (DatasetListResponse, error) + dlr DatasetListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DatasetListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dlr) + if err != nil { + return err + } + page.dlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DatasetListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DatasetListResponsePage) NotDone() bool { + return !page.dlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DatasetListResponsePage) Response() DatasetListResponse { + return page.dlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DatasetListResponsePage) Values() []DatasetResource { + if page.dlr.IsEmpty() { + return nil + } + return *page.dlr.Value +} + +// Creates a new instance of the DatasetListResponsePage type. +func NewDatasetListResponsePage(getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage { + return DatasetListResponsePage{fn: getNextPage} +} + +// BasicDatasetLocation dataset location. +type BasicDatasetLocation interface { + AsHdfsLocation() (*HdfsLocation, bool) + AsHTTPServerLocation() (*HTTPServerLocation, bool) + AsSftpLocation() (*SftpLocation, bool) + AsFtpServerLocation() (*FtpServerLocation, bool) + AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) + AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) + AsFileServerLocation() (*FileServerLocation, bool) + AsAmazonS3Location() (*AmazonS3Location, bool) + AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) + AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) + AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) + AsDatasetLocation() (*DatasetLocation, bool) +} + +// DatasetLocation dataset location. +type DatasetLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +func unmarshalBasicDatasetLocation(body []byte) (BasicDatasetLocation, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeHdfsLocation): + var hl HdfsLocation + err := json.Unmarshal(body, &hl) + return hl, err + case string(TypeHTTPServerLocation): + var hsl HTTPServerLocation + err := json.Unmarshal(body, &hsl) + return hsl, err + case string(TypeSftpLocation): + var sl SftpLocation + err := json.Unmarshal(body, &sl) + return sl, err + case string(TypeFtpServerLocation): + var fsl FtpServerLocation + err := json.Unmarshal(body, &fsl) + return fsl, err + case string(TypeGoogleCloudStorageLocation): + var gcsl GoogleCloudStorageLocation + err := json.Unmarshal(body, &gcsl) + return gcsl, err + case string(TypeAzureFileStorageLocation): + var afsl AzureFileStorageLocation + err := json.Unmarshal(body, &afsl) + return afsl, err + case string(TypeFileServerLocation): + var fsl FileServerLocation + err := json.Unmarshal(body, &fsl) + return fsl, err + case string(TypeAmazonS3Location): + var asl AmazonS3Location + err := json.Unmarshal(body, &asl) + return asl, err + case string(TypeAzureDataLakeStoreLocation): + var adlsl AzureDataLakeStoreLocation + err := json.Unmarshal(body, &adlsl) + return adlsl, err + case string(TypeAzureBlobFSLocation): + var abfl AzureBlobFSLocation + err := json.Unmarshal(body, &abfl) + return abfl, err + case string(TypeAzureBlobStorageLocation): + var absl AzureBlobStorageLocation + err := json.Unmarshal(body, &absl) + return absl, err + default: + var dl DatasetLocation + err := json.Unmarshal(body, &dl) + return dl, err + } +} +func unmarshalBasicDatasetLocationArray(body []byte) ([]BasicDatasetLocation, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dlArray := make([]BasicDatasetLocation, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dl, err := unmarshalBasicDatasetLocation(*rawMessage) + if err != nil { + return nil, err + } + dlArray[index] = dl + } + return dlArray, nil +} + +// MarshalJSON is the custom marshaler for DatasetLocation. +func (dl DatasetLocation) MarshalJSON() ([]byte, error) { + dl.Type = TypeDatasetLocation + objectMap := make(map[string]interface{}) + if dl.FolderPath != nil { + objectMap["folderPath"] = dl.FolderPath + } + if dl.FileName != nil { + objectMap["fileName"] = dl.FileName + } + if dl.Type != "" { + objectMap["type"] = dl.Type + } + for k, v := range dl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return &dl, true +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for DatasetLocation. +func (dl DatasetLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &dl, true +} + +// UnmarshalJSON is the custom unmarshaler for DatasetLocation struct. +func (dl *DatasetLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dl.AdditionalProperties == nil { + dl.AdditionalProperties = make(map[string]interface{}) + } + dl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + dl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + dl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dl.Type = typeVar + } + } + } + + return nil +} + +// DatasetReference dataset reference type. +type DatasetReference struct { + // Type - Dataset reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference dataset name. + ReferenceName *string `json:"referenceName,omitempty"` + // Parameters - Arguments for dataset. + Parameters map[string]interface{} `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for DatasetReference. +func (dr DatasetReference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dr.Type != nil { + objectMap["type"] = dr.Type + } + if dr.ReferenceName != nil { + objectMap["referenceName"] = dr.ReferenceName + } + if dr.Parameters != nil { + objectMap["parameters"] = dr.Parameters + } + return json.Marshal(objectMap) +} + +// DatasetResource dataset resource type. +type DatasetResource struct { + autorest.Response `json:"-"` + // Properties - Dataset properties. + Properties BasicDataset `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DatasetResource struct. +func (dr *DatasetResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicDataset(*v) + if err != nil { + return err + } + dr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dr.Etag = &etag + } + } + } + + return nil +} + +// DatasetZipDeflateCompression the ZipDeflate compression method used on a dataset. +type DatasetZipDeflateCompression struct { + // Level - The ZipDeflate compression level. Possible values include: 'Optimal', 'Fastest' + Level DatasetCompressionLevel `json:"level,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) MarshalJSON() ([]byte, error) { + dzdc.Type = TypeZipDeflate + objectMap := make(map[string]interface{}) + if dzdc.Level != "" { + objectMap["level"] = dzdc.Level + } + if dzdc.Type != "" { + objectMap["type"] = dzdc.Type + } + for k, v := range dzdc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { + return &dzdc, true +} + +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { + return nil, false +} + +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { + return nil, false +} + +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { + return nil, false +} + +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) { + return nil, false +} + +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dzdc, true +} + +// UnmarshalJSON is the custom unmarshaler for DatasetZipDeflateCompression struct. +func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "level": + if v != nil { + var level DatasetCompressionLevel + err = json.Unmarshal(*v, &level) + if err != nil { + return err + } + dzdc.Level = level + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dzdc.AdditionalProperties == nil { + dzdc.AdditionalProperties = make(map[string]interface{}) + } + dzdc.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dzdc.Type = typeVar + } + } + } + + return nil +} + +// Db2LinkedService linked service for DB2 data source. +type Db2LinkedService struct { + // Db2LinkedServiceTypeProperties - DB2 linked service properties. + *Db2LinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Db2LinkedService. +func (d2ls Db2LinkedService) MarshalJSON() ([]byte, error) { + d2ls.Type = TypeDb2 + objectMap := make(map[string]interface{}) + if d2ls.Db2LinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = d2ls.Db2LinkedServiceTypeProperties + } + if d2ls.ConnectVia != nil { + objectMap["connectVia"] = d2ls.ConnectVia + } + if d2ls.Description != nil { + objectMap["description"] = d2ls.Description + } + if d2ls.Parameters != nil { + objectMap["parameters"] = d2ls.Parameters + } + if d2ls.Annotations != nil { + objectMap["annotations"] = d2ls.Annotations + } + if d2ls.Type != "" { + objectMap["type"] = d2ls.Type + } + for k, v := range d2ls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return &d2ls, true +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &d2ls, true +} + +// UnmarshalJSON is the custom unmarshaler for Db2LinkedService struct. +func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var db2LinkedServiceTypeProperties Db2LinkedServiceTypeProperties + err = json.Unmarshal(*v, &db2LinkedServiceTypeProperties) + if err != nil { + return err + } + d2ls.Db2LinkedServiceTypeProperties = &db2LinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if d2ls.AdditionalProperties == nil { + d2ls.AdditionalProperties = make(map[string]interface{}) + } + d2ls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + d2ls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + d2ls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + d2ls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + d2ls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d2ls.Type = typeVar + } + } + } + + return nil +} + +// Db2LinkedServiceTypeProperties dB2 linked service properties. +type Db2LinkedServiceTypeProperties struct { + // Server - Server name for connection. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // Database - Database name for connection. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` + // AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'Basic' + AuthenticationType Db2AuthenticationType `json:"authenticationType,omitempty"` + // Username - Username for authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password for authentication. + Password BasicSecretBase `json:"password,omitempty"` + // PackageCollection - Under where packages are created when querying database. Type: string (or Expression with resultType string). + PackageCollection interface{} `json:"packageCollection,omitempty"` + // CertificateCommonName - Certificate Common Name when TLS is enabled. Type: string (or Expression with resultType string). + CertificateCommonName interface{} `json:"certificateCommonName,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for Db2LinkedServiceTypeProperties struct. +func (d2lstp *Db2LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + d2lstp.Server = server + } + case "database": + if v != nil { + var databaseVar interface{} + err = json.Unmarshal(*v, &databaseVar) + if err != nil { + return err + } + d2lstp.Database = databaseVar + } + case "authenticationType": + if v != nil { + var authenticationType Db2AuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + d2lstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + d2lstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + d2lstp.Password = password + } + case "packageCollection": + if v != nil { + var packageCollection interface{} + err = json.Unmarshal(*v, &packageCollection) + if err != nil { + return err + } + d2lstp.PackageCollection = packageCollection + } + case "certificateCommonName": + if v != nil { + var certificateCommonName interface{} + err = json.Unmarshal(*v, &certificateCommonName) + if err != nil { + return err + } + d2lstp.CertificateCommonName = certificateCommonName + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + d2lstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// Db2Source a copy activity source for Db2 databases. +type Db2Source struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Db2Source. +func (d2s Db2Source) MarshalJSON() ([]byte, error) { + d2s.Type = TypeDb2Source + objectMap := make(map[string]interface{}) + if d2s.Query != nil { + objectMap["query"] = d2s.Query + } + if d2s.QueryTimeout != nil { + objectMap["queryTimeout"] = d2s.QueryTimeout + } + if d2s.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = d2s.SourceRetryCount + } + if d2s.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = d2s.SourceRetryWait + } + if d2s.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = d2s.MaxConcurrentConnections + } + if d2s.Type != "" { + objectMap["type"] = d2s.Type + } + for k, v := range d2s.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDb2Source() (*Db2Source, bool) { + return &d2s, true +} + +// AsInformixSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBasicTabularSource() (BasicTabularSource, bool) { + return &d2s, true +} + +// AsBinarySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBasicCopySource() (BasicCopySource, bool) { + return &d2s, true +} + +// UnmarshalJSON is the custom unmarshaler for Db2Source struct. +func (d2s *Db2Source) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + d2s.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + d2s.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if d2s.AdditionalProperties == nil { + d2s.AdditionalProperties = make(map[string]interface{}) + } + d2s.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + d2s.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + d2s.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + d2s.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d2s.Type = typeVar + } + } + } + + return nil +} + +// Db2TableDataset the Db2 table dataset. +type Db2TableDataset struct { + // Db2TableDatasetTypeProperties - Db2 table dataset properties. + *Db2TableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Db2TableDataset. +func (d2td Db2TableDataset) MarshalJSON() ([]byte, error) { + d2td.Type = TypeDb2Table + objectMap := make(map[string]interface{}) + if d2td.Db2TableDatasetTypeProperties != nil { + objectMap["typeProperties"] = d2td.Db2TableDatasetTypeProperties + } + if d2td.Description != nil { + objectMap["description"] = d2td.Description + } + if d2td.Structure != nil { + objectMap["structure"] = d2td.Structure + } + if d2td.Schema != nil { + objectMap["schema"] = d2td.Schema + } + if d2td.LinkedServiceName != nil { + objectMap["linkedServiceName"] = d2td.LinkedServiceName + } + if d2td.Parameters != nil { + objectMap["parameters"] = d2td.Parameters + } + if d2td.Annotations != nil { + objectMap["annotations"] = d2td.Annotations + } + if d2td.Folder != nil { + objectMap["folder"] = d2td.Folder + } + if d2td.Type != "" { + objectMap["type"] = d2td.Type + } + for k, v := range d2td.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return &d2td, true +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsBasicDataset() (BasicDataset, bool) { + return &d2td, true +} + +// UnmarshalJSON is the custom unmarshaler for Db2TableDataset struct. +func (d2td *Db2TableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var db2TableDatasetTypeProperties Db2TableDatasetTypeProperties + err = json.Unmarshal(*v, &db2TableDatasetTypeProperties) + if err != nil { + return err + } + d2td.Db2TableDatasetTypeProperties = &db2TableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if d2td.AdditionalProperties == nil { + d2td.AdditionalProperties = make(map[string]interface{}) + } + d2td.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + d2td.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + d2td.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + d2td.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + d2td.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + d2td.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + d2td.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + d2td.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d2td.Type = typeVar + } + } + } + + return nil +} + +// Db2TableDatasetTypeProperties db2 table dataset properties. +type Db2TableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The Db2 schema name. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The Db2 table name. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// DeleteActivity delete activity. +type DeleteActivity struct { + // DeleteActivityTypeProperties - Delete activity properties. + *DeleteActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeleteActivity. +func (da DeleteActivity) MarshalJSON() ([]byte, error) { + da.Type = TypeDelete + objectMap := make(map[string]interface{}) + if da.DeleteActivityTypeProperties != nil { + objectMap["typeProperties"] = da.DeleteActivityTypeProperties + } + if da.LinkedServiceName != nil { + objectMap["linkedServiceName"] = da.LinkedServiceName + } + if da.Policy != nil { + objectMap["policy"] = da.Policy + } + if da.Name != nil { + objectMap["name"] = da.Name + } + if da.Description != nil { + objectMap["description"] = da.Description + } + if da.DependsOn != nil { + objectMap["dependsOn"] = da.DependsOn + } + if da.UserProperties != nil { + objectMap["userProperties"] = da.UserProperties + } + if da.Type != "" { + objectMap["type"] = da.Type + } + for k, v := range da.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return &da, true +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &da, true +} + +// AsWebHookActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsBasicActivity() (BasicActivity, bool) { + return &da, true +} + +// UnmarshalJSON is the custom unmarshaler for DeleteActivity struct. +func (da *DeleteActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var deleteActivityTypeProperties DeleteActivityTypeProperties + err = json.Unmarshal(*v, &deleteActivityTypeProperties) + if err != nil { + return err + } + da.DeleteActivityTypeProperties = &deleteActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + da.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + da.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if da.AdditionalProperties == nil { + da.AdditionalProperties = make(map[string]interface{}) + } + da.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + da.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + da.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + da.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + da.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + da.Type = typeVar + } + } + } + + return nil +} + +// DeleteActivityTypeProperties delete activity properties. +type DeleteActivityTypeProperties struct { + // 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). + Recursive interface{} `json:"recursive,omitempty"` + // MaxConcurrentConnections - The max concurrent connections to connect data source at the same time. + MaxConcurrentConnections *int32 `json:"maxConcurrentConnections,omitempty"` + // EnableLogging - Whether to record detailed logs of delete-activity execution. Default value is false. Type: boolean (or Expression with resultType boolean). + EnableLogging interface{} `json:"enableLogging,omitempty"` + // LogStorageSettings - Log storage settings customer need to provide when enableLogging is true. + LogStorageSettings *LogStorageSettings `json:"logStorageSettings,omitempty"` + // Dataset - Delete activity dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` +} + +// DeleteDataFlowDebugSessionRequest request body structure for deleting data flow debug session. +type DeleteDataFlowDebugSessionRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlowName - The data flow which contains the debug session. + DataFlowName *string `json:"dataFlowName,omitempty"` +} + +// DelimitedTextDataset delimited text dataset. +type DelimitedTextDataset struct { + // DelimitedTextDatasetTypeProperties - Delimited text dataset properties. + *DelimitedTextDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextDataset. +func (dtd DelimitedTextDataset) MarshalJSON() ([]byte, error) { + dtd.Type = TypeDelimitedText + objectMap := make(map[string]interface{}) + if dtd.DelimitedTextDatasetTypeProperties != nil { + objectMap["typeProperties"] = dtd.DelimitedTextDatasetTypeProperties + } + if dtd.Description != nil { + objectMap["description"] = dtd.Description + } + if dtd.Structure != nil { + objectMap["structure"] = dtd.Structure + } + if dtd.Schema != nil { + objectMap["schema"] = dtd.Schema + } + if dtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dtd.LinkedServiceName + } + if dtd.Parameters != nil { + objectMap["parameters"] = dtd.Parameters + } + if dtd.Annotations != nil { + objectMap["annotations"] = dtd.Annotations + } + if dtd.Folder != nil { + objectMap["folder"] = dtd.Folder + } + if dtd.Type != "" { + objectMap["type"] = dtd.Type + } + for k, v := range dtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return &dtd, true +} + +// AsParquetDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsBasicDataset() (BasicDataset, bool) { + return &dtd, true +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextDataset struct. +func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var delimitedTextDatasetTypeProperties DelimitedTextDatasetTypeProperties + err = json.Unmarshal(*v, &delimitedTextDatasetTypeProperties) + if err != nil { + return err + } + dtd.DelimitedTextDatasetTypeProperties = &delimitedTextDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dtd.AdditionalProperties == nil { + dtd.AdditionalProperties = make(map[string]interface{}) + } + dtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + dtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + dtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + dtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dtd.Type = typeVar + } + } + } + + return nil +} + +// DelimitedTextDatasetTypeProperties delimitedText dataset properties. +type DelimitedTextDatasetTypeProperties struct { + // Location - The location of the delimited text storage. + Location BasicDatasetLocation `json:"location,omitempty"` + // ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string). + ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"` + // RowDelimiter - The row delimiter. Type: string (or Expression with resultType string). + RowDelimiter interface{} `json:"rowDelimiter,omitempty"` + // 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). + EncodingName interface{} `json:"encodingName,omitempty"` + // CompressionCodec - Possible values include: 'DelimitedTextCompressionCodecBzip2', 'DelimitedTextCompressionCodecGzip', 'DelimitedTextCompressionCodecDeflate', 'DelimitedTextCompressionCodecZipDeflate', 'DelimitedTextCompressionCodecSnappy', 'DelimitedTextCompressionCodecLz4' + CompressionCodec DelimitedTextCompressionCodec `json:"compressionCodec,omitempty"` + // CompressionLevel - The data compression method used for DelimitedText. Possible values include: 'Optimal', 'Fastest' + CompressionLevel DatasetCompressionLevel `json:"compressionLevel,omitempty"` + // QuoteChar - The quote character. Type: string (or Expression with resultType string). + QuoteChar interface{} `json:"quoteChar,omitempty"` + // EscapeChar - The escape character. Type: string (or Expression with resultType string). + EscapeChar interface{} `json:"escapeChar,omitempty"` + // 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). + FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"` + // NullValue - The null value string. Type: string (or Expression with resultType string). + NullValue interface{} `json:"nullValue,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextDatasetTypeProperties struct. +func (dtdtp *DelimitedTextDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + location, err := unmarshalBasicDatasetLocation(*v) + if err != nil { + return err + } + dtdtp.Location = location + } + case "columnDelimiter": + if v != nil { + var columnDelimiter interface{} + err = json.Unmarshal(*v, &columnDelimiter) + if err != nil { + return err + } + dtdtp.ColumnDelimiter = columnDelimiter + } + case "rowDelimiter": + if v != nil { + var rowDelimiter interface{} + err = json.Unmarshal(*v, &rowDelimiter) + if err != nil { + return err + } + dtdtp.RowDelimiter = rowDelimiter + } + case "encodingName": + if v != nil { + var encodingName interface{} + err = json.Unmarshal(*v, &encodingName) + if err != nil { + return err + } + dtdtp.EncodingName = encodingName + } + case "compressionCodec": + if v != nil { + var compressionCodec DelimitedTextCompressionCodec + err = json.Unmarshal(*v, &compressionCodec) + if err != nil { + return err + } + dtdtp.CompressionCodec = compressionCodec + } + case "compressionLevel": + if v != nil { + var compressionLevel DatasetCompressionLevel + err = json.Unmarshal(*v, &compressionLevel) + if err != nil { + return err + } + dtdtp.CompressionLevel = compressionLevel + } + case "quoteChar": + if v != nil { + var quoteChar interface{} + err = json.Unmarshal(*v, "eChar) + if err != nil { + return err + } + dtdtp.QuoteChar = quoteChar + } + case "escapeChar": + if v != nil { + var escapeChar interface{} + err = json.Unmarshal(*v, &escapeChar) + if err != nil { + return err + } + dtdtp.EscapeChar = escapeChar + } + case "firstRowAsHeader": + if v != nil { + var firstRowAsHeader interface{} + err = json.Unmarshal(*v, &firstRowAsHeader) + if err != nil { + return err + } + dtdtp.FirstRowAsHeader = firstRowAsHeader + } + case "nullValue": + if v != nil { + var nullValue interface{} + err = json.Unmarshal(*v, &nullValue) + if err != nil { + return err + } + dtdtp.NullValue = nullValue + } + } + } + + return nil +} + +// DelimitedTextReadSettings delimited text read settings. +type DelimitedTextReadSettings struct { + // SkipLineCount - Indicates the number of non-empty rows to skip when reading data from input files. Type: integer (or Expression with resultType integer). + SkipLineCount interface{} `json:"skipLineCount,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeFormatReadSettings', 'TypeDelimitedTextReadSettings' + Type TypeBasicFormatReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextReadSettings. +func (dtrs DelimitedTextReadSettings) MarshalJSON() ([]byte, error) { + dtrs.Type = TypeDelimitedTextReadSettings + objectMap := make(map[string]interface{}) + if dtrs.SkipLineCount != nil { + objectMap["skipLineCount"] = dtrs.SkipLineCount + } + if dtrs.Type != "" { + objectMap["type"] = dtrs.Type + } + for k, v := range dtrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsDelimitedTextReadSettings is the BasicFormatReadSettings implementation for DelimitedTextReadSettings. +func (dtrs DelimitedTextReadSettings) AsDelimitedTextReadSettings() (*DelimitedTextReadSettings, bool) { + return &dtrs, true +} + +// AsFormatReadSettings is the BasicFormatReadSettings implementation for DelimitedTextReadSettings. +func (dtrs DelimitedTextReadSettings) AsFormatReadSettings() (*FormatReadSettings, bool) { + return nil, false +} + +// AsBasicFormatReadSettings is the BasicFormatReadSettings implementation for DelimitedTextReadSettings. +func (dtrs DelimitedTextReadSettings) AsBasicFormatReadSettings() (BasicFormatReadSettings, bool) { + return &dtrs, true +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextReadSettings struct. +func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "skipLineCount": + if v != nil { + var skipLineCount interface{} + err = json.Unmarshal(*v, &skipLineCount) + if err != nil { + return err + } + dtrs.SkipLineCount = skipLineCount + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dtrs.AdditionalProperties == nil { + dtrs.AdditionalProperties = make(map[string]interface{}) + } + dtrs.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicFormatReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dtrs.Type = typeVar + } + } + } + + return nil +} + +// DelimitedTextSink a copy activity DelimitedText sink. +type DelimitedTextSink struct { + // StoreSettings - DelimitedText store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // FormatSettings - DelimitedText format settings. + FormatSettings *DelimitedTextWriteSettings `json:"formatSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextSink. +func (dts DelimitedTextSink) MarshalJSON() ([]byte, error) { + dts.Type = TypeDelimitedTextSink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = dts.StoreSettings + if dts.FormatSettings != nil { + objectMap["formatSettings"] = dts.FormatSettings + } + if dts.WriteBatchSize != nil { + objectMap["writeBatchSize"] = dts.WriteBatchSize + } + if dts.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = dts.WriteBatchTimeout + } + if dts.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = dts.SinkRetryCount + } + if dts.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = dts.SinkRetryWait + } + if dts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections + } + if dts.Type != "" { + objectMap["type"] = dts.Type + } + for k, v := range dts.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return &dts, true +} + +// AsCopySink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsBasicCopySink() (BasicCopySink, bool) { + return &dts, true +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextSink struct. +func (dts *DelimitedTextSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + dts.StoreSettings = storeSettings + } + case "formatSettings": + if v != nil { + var formatSettings DelimitedTextWriteSettings + err = json.Unmarshal(*v, &formatSettings) + if err != nil { + return err + } + dts.FormatSettings = &formatSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dts.AdditionalProperties == nil { + dts.AdditionalProperties = make(map[string]interface{}) + } + dts.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + dts.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + dts.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + dts.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + dts.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + dts.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dts.Type = typeVar + } + } + } + + return nil +} + +// DelimitedTextSource a copy activity DelimitedText source. +type DelimitedTextSource struct { + // StoreSettings - DelimitedText store settings. + StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"` + // FormatSettings - DelimitedText format settings. + FormatSettings *DelimitedTextReadSettings `json:"formatSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextSource. +func (dts DelimitedTextSource) MarshalJSON() ([]byte, error) { + dts.Type = TypeDelimitedTextSource + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = dts.StoreSettings + if dts.FormatSettings != nil { + objectMap["formatSettings"] = dts.FormatSettings + } + if dts.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = dts.SourceRetryCount + } + if dts.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = dts.SourceRetryWait + } + if dts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections + } + if dts.Type != "" { + objectMap["type"] = dts.Type + } + for k, v := range dts.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return &dts, true +} + +// AsParquetSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBasicCopySource() (BasicCopySource, bool) { + return &dts, true +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextSource struct. +func (dts *DelimitedTextSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreReadSettings(*v) + if err != nil { + return err + } + dts.StoreSettings = storeSettings + } + case "formatSettings": + if v != nil { + var formatSettings DelimitedTextReadSettings + err = json.Unmarshal(*v, &formatSettings) + if err != nil { + return err + } + dts.FormatSettings = &formatSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dts.AdditionalProperties == nil { + dts.AdditionalProperties = make(map[string]interface{}) + } + dts.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + dts.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + dts.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + dts.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dts.Type = typeVar + } + } + } + + return nil +} + +// DelimitedTextWriteSettings delimited text write settings. +type DelimitedTextWriteSettings struct { + // QuoteAllText - Indicates whether string values should always be enclosed with quotes. Type: boolean (or Expression with resultType boolean). + QuoteAllText interface{} `json:"quoteAllText,omitempty"` + // FileExtension - The file extension used to create the files. Type: string (or Expression with resultType string). + FileExtension interface{} `json:"fileExtension,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings' + Type TypeBasicFormatWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextWriteSettings. +func (dtws DelimitedTextWriteSettings) MarshalJSON() ([]byte, error) { + dtws.Type = TypeDelimitedTextWriteSettings + objectMap := make(map[string]interface{}) + if dtws.QuoteAllText != nil { + objectMap["quoteAllText"] = dtws.QuoteAllText + } + if dtws.FileExtension != nil { + objectMap["fileExtension"] = dtws.FileExtension + } + if dtws.Type != "" { + objectMap["type"] = dtws.Type + } + for k, v := range dtws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsJSONWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings. +func (dtws DelimitedTextWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) { + return nil, false +} + +// AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings. +func (dtws DelimitedTextWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) { + return &dtws, true +} + +// AsAvroWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings. +func (dtws DelimitedTextWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) { + return nil, false +} + +// AsFormatWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings. +func (dtws DelimitedTextWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) { + return nil, false +} + +// AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings. +func (dtws DelimitedTextWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) { + return &dtws, true +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextWriteSettings struct. +func (dtws *DelimitedTextWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "quoteAllText": + if v != nil { + var quoteAllText interface{} + err = json.Unmarshal(*v, "eAllText) + if err != nil { + return err + } + dtws.QuoteAllText = quoteAllText + } + case "fileExtension": + if v != nil { + var fileExtension interface{} + err = json.Unmarshal(*v, &fileExtension) + if err != nil { + return err + } + dtws.FileExtension = fileExtension + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dtws.AdditionalProperties == nil { + dtws.AdditionalProperties = make(map[string]interface{}) + } + dtws.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicFormatWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dtws.Type = typeVar + } + } + } + + return nil +} + +// BasicDependencyReference referenced dependency. +type BasicDependencyReference interface { + AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) + AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) + AsTriggerDependencyReference() (*TriggerDependencyReference, bool) + AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) + AsDependencyReference() (*DependencyReference, bool) +} + +// DependencyReference referenced dependency. +type DependencyReference struct { + // Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference' + Type TypeBasicDependencyReference `json:"type,omitempty"` +} + +func unmarshalBasicDependencyReference(body []byte) (BasicDependencyReference, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeSelfDependencyTumblingWindowTriggerReference): + var sdtwtr SelfDependencyTumblingWindowTriggerReference + err := json.Unmarshal(body, &sdtwtr) + return sdtwtr, err + case string(TypeTumblingWindowTriggerDependencyReference): + var twtdr TumblingWindowTriggerDependencyReference + err := json.Unmarshal(body, &twtdr) + return twtdr, err + case string(TypeTriggerDependencyReference): + var tdr TriggerDependencyReference + err := json.Unmarshal(body, &tdr) + return tdr, err + default: + var dr DependencyReference + err := json.Unmarshal(body, &dr) + return dr, err + } +} +func unmarshalBasicDependencyReferenceArray(body []byte) ([]BasicDependencyReference, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + drArray := make([]BasicDependencyReference, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dr, err := unmarshalBasicDependencyReference(*rawMessage) + if err != nil { + return nil, err + } + drArray[index] = dr + } + return drArray, nil +} + +// MarshalJSON is the custom marshaler for DependencyReference. +func (dr DependencyReference) MarshalJSON() ([]byte, error) { + dr.Type = TypeDependencyReference + objectMap := make(map[string]interface{}) + if dr.Type != "" { + objectMap["type"] = dr.Type + } + return json.Marshal(objectMap) +} + +// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) { + return nil, false +} + +// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) { + return nil, false +} + +// AsTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) { + return nil, false +} + +// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) { + return nil, false +} + +// AsDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsDependencyReference() (*DependencyReference, bool) { + return &dr, true +} + +// AsBasicDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) { + return &dr, true +} + +// DistcpSettings distcp settings. +type DistcpSettings struct { + // ResourceManagerEndpoint - Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string). + ResourceManagerEndpoint interface{} `json:"resourceManagerEndpoint,omitempty"` + // 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). + TempScriptPath interface{} `json:"tempScriptPath,omitempty"` + // DistcpOptions - Specifies the Distcp options. Type: string (or Expression with resultType string). + DistcpOptions interface{} `json:"distcpOptions,omitempty"` +} + +// DocumentDbCollectionDataset microsoft Azure Document Database Collection dataset. +type DocumentDbCollectionDataset struct { + // DocumentDbCollectionDatasetTypeProperties - DocumentDB Collection dataset properties. + *DocumentDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) MarshalJSON() ([]byte, error) { + ddcd.Type = TypeDocumentDbCollection + objectMap := make(map[string]interface{}) + if ddcd.DocumentDbCollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = ddcd.DocumentDbCollectionDatasetTypeProperties + } + if ddcd.Description != nil { + objectMap["description"] = ddcd.Description + } + if ddcd.Structure != nil { + objectMap["structure"] = ddcd.Structure + } + if ddcd.Schema != nil { + objectMap["schema"] = ddcd.Schema + } + if ddcd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ddcd.LinkedServiceName + } + if ddcd.Parameters != nil { + objectMap["parameters"] = ddcd.Parameters + } + if ddcd.Annotations != nil { + objectMap["annotations"] = ddcd.Annotations + } + if ddcd.Folder != nil { + objectMap["folder"] = ddcd.Folder + } + if ddcd.Type != "" { + objectMap["type"] = ddcd.Type + } + for k, v := range ddcd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return &ddcd, true +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &ddcd, true +} + +// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionDataset struct. +func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var documentDbCollectionDatasetTypeProperties DocumentDbCollectionDatasetTypeProperties + err = json.Unmarshal(*v, &documentDbCollectionDatasetTypeProperties) + if err != nil { + return err + } + ddcd.DocumentDbCollectionDatasetTypeProperties = &documentDbCollectionDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ddcd.AdditionalProperties == nil { + ddcd.AdditionalProperties = make(map[string]interface{}) + } + ddcd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ddcd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + ddcd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ddcd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ddcd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ddcd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ddcd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ddcd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ddcd.Type = typeVar + } + } + } + + return nil +} + +// DocumentDbCollectionDatasetTypeProperties documentDB Collection dataset properties. +type DocumentDbCollectionDatasetTypeProperties struct { + // CollectionName - Document Database collection name. Type: string (or Expression with resultType string). + CollectionName interface{} `json:"collectionName,omitempty"` +} + +// DocumentDbCollectionSink a copy activity Document Database Collection sink. +type DocumentDbCollectionSink struct { + // NestingSeparator - Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string). + NestingSeparator interface{} `json:"nestingSeparator,omitempty"` + // WriteBehavior - Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert. + WriteBehavior interface{} `json:"writeBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) MarshalJSON() ([]byte, error) { + ddcs.Type = TypeDocumentDbCollectionSink + objectMap := make(map[string]interface{}) + if ddcs.NestingSeparator != nil { + objectMap["nestingSeparator"] = ddcs.NestingSeparator + } + if ddcs.WriteBehavior != nil { + objectMap["writeBehavior"] = ddcs.WriteBehavior + } + if ddcs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ddcs.WriteBatchSize + } + if ddcs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ddcs.WriteBatchTimeout + } + if ddcs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ddcs.SinkRetryCount + } + if ddcs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ddcs.SinkRetryWait + } + if ddcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections + } + if ddcs.Type != "" { + objectMap["type"] = ddcs.Type + } + for k, v := range ddcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return &ddcs, true +} + +// AsFileSystemSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ddcs, true +} + +// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSink struct. +func (ddcs *DocumentDbCollectionSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "nestingSeparator": + if v != nil { + var nestingSeparator interface{} + err = json.Unmarshal(*v, &nestingSeparator) + if err != nil { + return err + } + ddcs.NestingSeparator = nestingSeparator + } + case "writeBehavior": + if v != nil { + var writeBehavior interface{} + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + ddcs.WriteBehavior = writeBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ddcs.AdditionalProperties == nil { + ddcs.AdditionalProperties = make(map[string]interface{}) + } + ddcs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ddcs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ddcs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ddcs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ddcs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ddcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ddcs.Type = typeVar + } + } + } + + return nil +} + +// DocumentDbCollectionSource a copy activity Document Database Collection source. +type DocumentDbCollectionSource struct { + // Query - Documents query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // NestingSeparator - Nested properties separator. Type: string (or Expression with resultType string). + NestingSeparator interface{} `json:"nestingSeparator,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) MarshalJSON() ([]byte, error) { + ddcs.Type = TypeDocumentDbCollectionSource + objectMap := make(map[string]interface{}) + if ddcs.Query != nil { + objectMap["query"] = ddcs.Query + } + if ddcs.NestingSeparator != nil { + objectMap["nestingSeparator"] = ddcs.NestingSeparator + } + if ddcs.QueryTimeout != nil { + objectMap["queryTimeout"] = ddcs.QueryTimeout + } + if ddcs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ddcs.SourceRetryCount + } + if ddcs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ddcs.SourceRetryWait + } + if ddcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections + } + if ddcs.Type != "" { + objectMap["type"] = ddcs.Type + } + for k, v := range ddcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return &ddcs, true +} + +// AsBlobSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ddcs, true +} + +// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSource struct. +func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ddcs.Query = query + } + case "nestingSeparator": + if v != nil { + var nestingSeparator interface{} + err = json.Unmarshal(*v, &nestingSeparator) + if err != nil { + return err + } + ddcs.NestingSeparator = nestingSeparator + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ddcs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ddcs.AdditionalProperties == nil { + ddcs.AdditionalProperties = make(map[string]interface{}) + } + ddcs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ddcs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ddcs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ddcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ddcs.Type = typeVar + } + } + } + + return nil +} + +// DrillDatasetTypeProperties drill Dataset Properties +type DrillDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Drill. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Drill. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// DrillLinkedService drill server linked service. +type DrillLinkedService struct { + // DrillLinkedServiceTypeProperties - Drill server linked service properties. + *DrillLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DrillLinkedService. +func (dls DrillLinkedService) MarshalJSON() ([]byte, error) { + dls.Type = TypeDrill + objectMap := make(map[string]interface{}) + if dls.DrillLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dls.DrillLinkedServiceTypeProperties + } + if dls.ConnectVia != nil { + objectMap["connectVia"] = dls.ConnectVia + } + if dls.Description != nil { + objectMap["description"] = dls.Description + } + if dls.Parameters != nil { + objectMap["parameters"] = dls.Parameters + } + if dls.Annotations != nil { + objectMap["annotations"] = dls.Annotations + } + if dls.Type != "" { + objectMap["type"] = dls.Type + } + for k, v := range dls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return &dls, true +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dls, true +} + +// UnmarshalJSON is the custom unmarshaler for DrillLinkedService struct. +func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var drillLinkedServiceTypeProperties DrillLinkedServiceTypeProperties + err = json.Unmarshal(*v, &drillLinkedServiceTypeProperties) + if err != nil { + return err + } + dls.DrillLinkedServiceTypeProperties = &drillLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dls.AdditionalProperties == nil { + dls.AdditionalProperties = make(map[string]interface{}) + } + dls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + dls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dls.Type = typeVar + } + } + } + + return nil +} + +// DrillLinkedServiceTypeProperties drill server linked service properties. +type DrillLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// DrillSource a copy activity Drill server source. +type DrillSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DrillSource. +func (ds DrillSource) MarshalJSON() ([]byte, error) { + ds.Type = TypeDrillSource + objectMap := make(map[string]interface{}) + if ds.Query != nil { + objectMap["query"] = ds.Query + } + if ds.QueryTimeout != nil { + objectMap["queryTimeout"] = ds.QueryTimeout + } + if ds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ds.SourceRetryCount + } + if ds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ds.SourceRetryWait + } + if ds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections + } + if ds.Type != "" { + objectMap["type"] = ds.Type + } + for k, v := range ds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDrillSource() (*DrillSource, bool) { + return &ds, true +} + +// AsCouchbaseSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ds, true +} + +// AsBinarySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ds, true +} + +// UnmarshalJSON is the custom unmarshaler for DrillSource struct. +func (ds *DrillSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ds.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ds.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ds.AdditionalProperties == nil { + ds.AdditionalProperties = make(map[string]interface{}) + } + ds.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ds.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ds.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ds.Type = typeVar + } + } + } + + return nil +} + +// DrillTableDataset drill server dataset. +type DrillTableDataset struct { + // DrillDatasetTypeProperties - Properties specific to this dataset type. + *DrillDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DrillTableDataset. +func (dtd DrillTableDataset) MarshalJSON() ([]byte, error) { + dtd.Type = TypeDrillTable + objectMap := make(map[string]interface{}) + if dtd.DrillDatasetTypeProperties != nil { + objectMap["typeProperties"] = dtd.DrillDatasetTypeProperties + } + if dtd.Description != nil { + objectMap["description"] = dtd.Description + } + if dtd.Structure != nil { + objectMap["structure"] = dtd.Structure + } + if dtd.Schema != nil { + objectMap["schema"] = dtd.Schema + } + if dtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dtd.LinkedServiceName + } + if dtd.Parameters != nil { + objectMap["parameters"] = dtd.Parameters + } + if dtd.Annotations != nil { + objectMap["annotations"] = dtd.Annotations + } + if dtd.Folder != nil { + objectMap["folder"] = dtd.Folder + } + if dtd.Type != "" { + objectMap["type"] = dtd.Type + } + for k, v := range dtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return &dtd, true +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &dtd, true +} + +// UnmarshalJSON is the custom unmarshaler for DrillTableDataset struct. +func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var drillDatasetTypeProperties DrillDatasetTypeProperties + err = json.Unmarshal(*v, &drillDatasetTypeProperties) + if err != nil { + return err + } + dtd.DrillDatasetTypeProperties = &drillDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dtd.AdditionalProperties == nil { + dtd.AdditionalProperties = make(map[string]interface{}) + } + dtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + dtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + dtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + dtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dtd.Type = typeVar + } + } + } + + return nil +} + +// DWCopyCommandDefaultValue default value. +type DWCopyCommandDefaultValue struct { + // ColumnName - Column name. Type: object (or Expression with resultType string). + ColumnName interface{} `json:"columnName,omitempty"` + // DefaultValue - The default value of the column. Type: object (or Expression with resultType string). + DefaultValue interface{} `json:"defaultValue,omitempty"` +} + +// DWCopyCommandSettings DW Copy Command settings. +type DWCopyCommandSettings struct { + // 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). + DefaultValues *[]DWCopyCommandDefaultValue `json:"defaultValues,omitempty"` + // 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'" } + AdditionalOptions map[string]*string `json:"additionalOptions"` +} + +// MarshalJSON is the custom marshaler for DWCopyCommandSettings. +func (dccs DWCopyCommandSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dccs.DefaultValues != nil { + objectMap["defaultValues"] = dccs.DefaultValues + } + if dccs.AdditionalOptions != nil { + objectMap["additionalOptions"] = dccs.AdditionalOptions + } + return json.Marshal(objectMap) +} + +// DynamicsAXLinkedService dynamics AX linked service. +type DynamicsAXLinkedService struct { + // DynamicsAXLinkedServiceTypeProperties - Dynamics AX linked service properties. + *DynamicsAXLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) MarshalJSON() ([]byte, error) { + dals.Type = TypeDynamicsAX + objectMap := make(map[string]interface{}) + if dals.DynamicsAXLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dals.DynamicsAXLinkedServiceTypeProperties + } + if dals.ConnectVia != nil { + objectMap["connectVia"] = dals.ConnectVia + } + if dals.Description != nil { + objectMap["description"] = dals.Description + } + if dals.Parameters != nil { + objectMap["parameters"] = dals.Parameters + } + if dals.Annotations != nil { + objectMap["annotations"] = dals.Annotations + } + if dals.Type != "" { + objectMap["type"] = dals.Type + } + for k, v := range dals.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return &dals, true +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dals, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedService struct. +func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var dynamicsAXLinkedServiceTypeProperties DynamicsAXLinkedServiceTypeProperties + err = json.Unmarshal(*v, &dynamicsAXLinkedServiceTypeProperties) + if err != nil { + return err + } + dals.DynamicsAXLinkedServiceTypeProperties = &dynamicsAXLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dals.AdditionalProperties == nil { + dals.AdditionalProperties = make(map[string]interface{}) + } + dals.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + dals.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dals.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dals.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dals.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dals.Type = typeVar + } + } + } + + return nil +} + +// DynamicsAXLinkedServiceTypeProperties dynamics AX linked service properties. +type DynamicsAXLinkedServiceTypeProperties struct { + // URL - The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData endpoint. + URL interface{} `json:"url,omitempty"` + // ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // 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). + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // 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). + Tenant interface{} `json:"tenant,omitempty"` + // AadResourceID - Specify the resource you are requesting authorization. Type: string (or Expression with resultType string). + AadResourceID interface{} `json:"aadResourceId,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedServiceTypeProperties struct. +func (dalstp *DynamicsAXLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + dalstp.URL = URL + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + dalstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dalstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + dalstp.Tenant = tenant + } + case "aadResourceId": + if v != nil { + var aadResourceID interface{} + err = json.Unmarshal(*v, &aadResourceID) + if err != nil { + return err + } + dalstp.AadResourceID = aadResourceID + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + dalstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// DynamicsAXResourceDataset the path of the Dynamics AX OData entity. +type DynamicsAXResourceDataset struct { + // DynamicsAXResourceDatasetTypeProperties - Dynamics AX OData resource dataset properties. + *DynamicsAXResourceDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) MarshalJSON() ([]byte, error) { + dard.Type = TypeDynamicsAXResource + objectMap := make(map[string]interface{}) + if dard.DynamicsAXResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = dard.DynamicsAXResourceDatasetTypeProperties + } + if dard.Description != nil { + objectMap["description"] = dard.Description + } + if dard.Structure != nil { + objectMap["structure"] = dard.Structure + } + if dard.Schema != nil { + objectMap["schema"] = dard.Schema + } + if dard.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dard.LinkedServiceName + } + if dard.Parameters != nil { + objectMap["parameters"] = dard.Parameters + } + if dard.Annotations != nil { + objectMap["annotations"] = dard.Annotations + } + if dard.Folder != nil { + objectMap["folder"] = dard.Folder + } + if dard.Type != "" { + objectMap["type"] = dard.Type + } + for k, v := range dard.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return &dard, true +} + +// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &dard, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsAXResourceDataset struct. +func (dard *DynamicsAXResourceDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var dynamicsAXResourceDatasetTypeProperties DynamicsAXResourceDatasetTypeProperties + err = json.Unmarshal(*v, &dynamicsAXResourceDatasetTypeProperties) + if err != nil { + return err + } + dard.DynamicsAXResourceDatasetTypeProperties = &dynamicsAXResourceDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dard.AdditionalProperties == nil { + dard.AdditionalProperties = make(map[string]interface{}) + } + dard.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dard.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + dard.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + dard.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dard.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dard.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dard.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + dard.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dard.Type = typeVar + } + } + } + + return nil +} + +// DynamicsAXResourceDatasetTypeProperties dynamics AX OData resource dataset properties. +type DynamicsAXResourceDatasetTypeProperties struct { + // Path - The path of the Dynamics AX OData entity. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// DynamicsAXSource a copy activity Dynamics AX source. +type DynamicsAXSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsAXSource. +func (das DynamicsAXSource) MarshalJSON() ([]byte, error) { + das.Type = TypeDynamicsAXSource + objectMap := make(map[string]interface{}) + if das.Query != nil { + objectMap["query"] = das.Query + } + if das.QueryTimeout != nil { + objectMap["queryTimeout"] = das.QueryTimeout + } + if das.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = das.SourceRetryCount + } + if das.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = das.SourceRetryWait + } + if das.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = das.MaxConcurrentConnections + } + if das.Type != "" { + objectMap["type"] = das.Type + } + for k, v := range das.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return &das, true +} + +// AsResponsysSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &das, true +} + +// AsBinarySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBasicCopySource() (BasicCopySource, bool) { + return &das, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsAXSource struct. +func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + das.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + das.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if das.AdditionalProperties == nil { + das.AdditionalProperties = make(map[string]interface{}) + } + das.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + das.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + das.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + das.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + das.Type = typeVar + } + } + } + + return nil +} + +// DynamicsCrmEntityDataset the Dynamics CRM entity dataset. +type DynamicsCrmEntityDataset struct { + // DynamicsCrmEntityDatasetTypeProperties - Dynamics CRM entity dataset properties. + *DynamicsCrmEntityDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) MarshalJSON() ([]byte, error) { + dced.Type = TypeDynamicsCrmEntity + objectMap := make(map[string]interface{}) + if dced.DynamicsCrmEntityDatasetTypeProperties != nil { + objectMap["typeProperties"] = dced.DynamicsCrmEntityDatasetTypeProperties + } + if dced.Description != nil { + objectMap["description"] = dced.Description + } + if dced.Structure != nil { + objectMap["structure"] = dced.Structure + } + if dced.Schema != nil { + objectMap["schema"] = dced.Schema + } + if dced.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dced.LinkedServiceName + } + if dced.Parameters != nil { + objectMap["parameters"] = dced.Parameters + } + if dced.Annotations != nil { + objectMap["annotations"] = dced.Annotations + } + if dced.Folder != nil { + objectMap["folder"] = dced.Folder + } + if dced.Type != "" { + objectMap["type"] = dced.Type + } + for k, v := range dced.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return &dced, true +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsBasicDataset() (BasicDataset, bool) { + return &dced, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmEntityDataset struct. +func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var dynamicsCrmEntityDatasetTypeProperties DynamicsCrmEntityDatasetTypeProperties + err = json.Unmarshal(*v, &dynamicsCrmEntityDatasetTypeProperties) + if err != nil { + return err + } + dced.DynamicsCrmEntityDatasetTypeProperties = &dynamicsCrmEntityDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dced.AdditionalProperties == nil { + dced.AdditionalProperties = make(map[string]interface{}) + } + dced.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dced.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + dced.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + dced.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dced.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dced.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dced.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + dced.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dced.Type = typeVar + } + } + } + + return nil +} + +// DynamicsCrmEntityDatasetTypeProperties dynamics CRM entity dataset properties. +type DynamicsCrmEntityDatasetTypeProperties struct { + // EntityName - The logical name of the entity. Type: string (or Expression with resultType string). + EntityName interface{} `json:"entityName,omitempty"` +} + +// DynamicsCrmLinkedService dynamics CRM linked service. +type DynamicsCrmLinkedService struct { + // DynamicsCrmLinkedServiceTypeProperties - Dynamics CRM linked service properties. + *DynamicsCrmLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) MarshalJSON() ([]byte, error) { + dcls.Type = TypeDynamicsCrm + objectMap := make(map[string]interface{}) + if dcls.DynamicsCrmLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dcls.DynamicsCrmLinkedServiceTypeProperties + } + if dcls.ConnectVia != nil { + objectMap["connectVia"] = dcls.ConnectVia + } + if dcls.Description != nil { + objectMap["description"] = dcls.Description + } + if dcls.Parameters != nil { + objectMap["parameters"] = dcls.Parameters + } + if dcls.Annotations != nil { + objectMap["annotations"] = dcls.Annotations + } + if dcls.Type != "" { + objectMap["type"] = dcls.Type + } + for k, v := range dcls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return &dcls, true +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dcls, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedService struct. +func (dcls *DynamicsCrmLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var dynamicsCrmLinkedServiceTypeProperties DynamicsCrmLinkedServiceTypeProperties + err = json.Unmarshal(*v, &dynamicsCrmLinkedServiceTypeProperties) + if err != nil { + return err + } + dcls.DynamicsCrmLinkedServiceTypeProperties = &dynamicsCrmLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dcls.AdditionalProperties == nil { + dcls.AdditionalProperties = make(map[string]interface{}) + } + dcls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + dcls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dcls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dcls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dcls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dcls.Type = typeVar + } + } + } + + return nil +} + +// DynamicsCrmLinkedServiceTypeProperties dynamics CRM linked service properties. +type DynamicsCrmLinkedServiceTypeProperties struct { + // 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' + DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"` + // 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). + HostName interface{} `json:"hostName,omitempty"` + // 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. + Port interface{} `json:"port,omitempty"` + // 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). + ServiceURI interface{} `json:"serviceUri,omitempty"` + // 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). + OrganizationName interface{} `json:"organizationName,omitempty"` + // 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' + AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"` + // Username - User name to access the Dynamics CRM instance. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password to access the Dynamics CRM instance. + Password BasicSecretBase `json:"password,omitempty"` + // ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // 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' + ServicePrincipalCredentialType DynamicsServicePrincipalCredentialType `json:"servicePrincipalCredentialType,omitempty"` + // 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. + ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedServiceTypeProperties struct. +func (dclstp *DynamicsCrmLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "deploymentType": + if v != nil { + var deploymentType DynamicsDeploymentType + err = json.Unmarshal(*v, &deploymentType) + if err != nil { + return err + } + dclstp.DeploymentType = deploymentType + } + case "hostName": + if v != nil { + var hostName interface{} + err = json.Unmarshal(*v, &hostName) + if err != nil { + return err + } + dclstp.HostName = hostName + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + dclstp.Port = port + } + case "serviceUri": + if v != nil { + var serviceURI interface{} + err = json.Unmarshal(*v, &serviceURI) + if err != nil { + return err + } + dclstp.ServiceURI = serviceURI + } + case "organizationName": + if v != nil { + var organizationName interface{} + err = json.Unmarshal(*v, &organizationName) + if err != nil { + return err + } + dclstp.OrganizationName = organizationName + } + case "authenticationType": + if v != nil { + var authenticationType DynamicsAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + dclstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + dclstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dclstp.Password = password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + dclstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalCredentialType": + if v != nil { + var servicePrincipalCredentialType DynamicsServicePrincipalCredentialType + err = json.Unmarshal(*v, &servicePrincipalCredentialType) + if err != nil { + return err + } + dclstp.ServicePrincipalCredentialType = servicePrincipalCredentialType + } + case "servicePrincipalCredential": + if v != nil { + servicePrincipalCredential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dclstp.ServicePrincipalCredential = servicePrincipalCredential + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + dclstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// DynamicsCrmSink a copy activity Dynamics CRM sink. +type DynamicsCrmSink struct { + // WriteBehavior - The write behavior for the operation. + WriteBehavior *string `json:"writeBehavior,omitempty"` + // 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). + IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string). + AlternateKeyName interface{} `json:"alternateKeyName,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsCrmSink. +func (dcs DynamicsCrmSink) MarshalJSON() ([]byte, error) { + dcs.Type = TypeDynamicsCrmSink + objectMap := make(map[string]interface{}) + if dcs.WriteBehavior != nil { + objectMap["writeBehavior"] = dcs.WriteBehavior + } + if dcs.IgnoreNullValues != nil { + objectMap["ignoreNullValues"] = dcs.IgnoreNullValues + } + if dcs.AlternateKeyName != nil { + objectMap["alternateKeyName"] = dcs.AlternateKeyName + } + if dcs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = dcs.WriteBatchSize + } + if dcs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = dcs.WriteBatchTimeout + } + if dcs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = dcs.SinkRetryCount + } + if dcs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = dcs.SinkRetryWait + } + if dcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections + } + if dcs.Type != "" { + objectMap["type"] = dcs.Type + } + for k, v := range dcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return &dcs, true +} + +// AsDynamicsSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsBasicCopySink() (BasicCopySink, bool) { + return &dcs, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSink struct. +func (dcs *DynamicsCrmSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior string + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + dcs.WriteBehavior = &writeBehavior + } + case "ignoreNullValues": + if v != nil { + var ignoreNullValues interface{} + err = json.Unmarshal(*v, &ignoreNullValues) + if err != nil { + return err + } + dcs.IgnoreNullValues = ignoreNullValues + } + case "alternateKeyName": + if v != nil { + var alternateKeyName interface{} + err = json.Unmarshal(*v, &alternateKeyName) + if err != nil { + return err + } + dcs.AlternateKeyName = alternateKeyName + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dcs.AdditionalProperties == nil { + dcs.AdditionalProperties = make(map[string]interface{}) + } + dcs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + dcs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + dcs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + dcs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + dcs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + dcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dcs.Type = typeVar + } + } + } + + return nil +} + +// DynamicsCrmSource a copy activity Dynamics CRM source. +type DynamicsCrmSource struct { + // Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsCrmSource. +func (dcs DynamicsCrmSource) MarshalJSON() ([]byte, error) { + dcs.Type = TypeDynamicsCrmSource + objectMap := make(map[string]interface{}) + if dcs.Query != nil { + objectMap["query"] = dcs.Query + } + if dcs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = dcs.SourceRetryCount + } + if dcs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = dcs.SourceRetryWait + } + if dcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections + } + if dcs.Type != "" { + objectMap["type"] = dcs.Type + } + for k, v := range dcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return &dcs, true +} + +// AsDynamicsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBasicCopySource() (BasicCopySource, bool) { + return &dcs, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSource struct. +func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + dcs.Query = query + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dcs.AdditionalProperties == nil { + dcs.AdditionalProperties = make(map[string]interface{}) + } + dcs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + dcs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + dcs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + dcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dcs.Type = typeVar + } + } + } + + return nil +} + +// DynamicsEntityDataset the Dynamics entity dataset. +type DynamicsEntityDataset struct { + // DynamicsEntityDatasetTypeProperties - Dynamics entity dataset properties. + *DynamicsEntityDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) MarshalJSON() ([]byte, error) { + ded.Type = TypeDynamicsEntity + objectMap := make(map[string]interface{}) + if ded.DynamicsEntityDatasetTypeProperties != nil { + objectMap["typeProperties"] = ded.DynamicsEntityDatasetTypeProperties + } + if ded.Description != nil { + objectMap["description"] = ded.Description + } + if ded.Structure != nil { + objectMap["structure"] = ded.Structure + } + if ded.Schema != nil { + objectMap["schema"] = ded.Schema + } + if ded.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ded.LinkedServiceName + } + if ded.Parameters != nil { + objectMap["parameters"] = ded.Parameters + } + if ded.Annotations != nil { + objectMap["annotations"] = ded.Annotations + } + if ded.Folder != nil { + objectMap["folder"] = ded.Folder + } + if ded.Type != "" { + objectMap["type"] = ded.Type + } + for k, v := range ded.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return &ded, true +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsBasicDataset() (BasicDataset, bool) { + return &ded, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsEntityDataset struct. +func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var dynamicsEntityDatasetTypeProperties DynamicsEntityDatasetTypeProperties + err = json.Unmarshal(*v, &dynamicsEntityDatasetTypeProperties) + if err != nil { + return err + } + ded.DynamicsEntityDatasetTypeProperties = &dynamicsEntityDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ded.AdditionalProperties == nil { + ded.AdditionalProperties = make(map[string]interface{}) + } + ded.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ded.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + ded.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ded.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ded.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ded.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ded.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ded.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ded.Type = typeVar + } + } + } + + return nil +} + +// DynamicsEntityDatasetTypeProperties dynamics entity dataset properties. +type DynamicsEntityDatasetTypeProperties struct { + // EntityName - The logical name of the entity. Type: string (or Expression with resultType string). + EntityName interface{} `json:"entityName,omitempty"` +} + +// DynamicsLinkedService dynamics linked service. +type DynamicsLinkedService struct { + // DynamicsLinkedServiceTypeProperties - Dynamics linked service properties. + *DynamicsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsLinkedService. +func (dls DynamicsLinkedService) MarshalJSON() ([]byte, error) { + dls.Type = TypeDynamics + objectMap := make(map[string]interface{}) + if dls.DynamicsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dls.DynamicsLinkedServiceTypeProperties + } + if dls.ConnectVia != nil { + objectMap["connectVia"] = dls.ConnectVia + } + if dls.Description != nil { + objectMap["description"] = dls.Description + } + if dls.Parameters != nil { + objectMap["parameters"] = dls.Parameters + } + if dls.Annotations != nil { + objectMap["annotations"] = dls.Annotations + } + if dls.Type != "" { + objectMap["type"] = dls.Type + } + for k, v := range dls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return &dls, true +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dls, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedService struct. +func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var dynamicsLinkedServiceTypeProperties DynamicsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &dynamicsLinkedServiceTypeProperties) + if err != nil { + return err + } + dls.DynamicsLinkedServiceTypeProperties = &dynamicsLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dls.AdditionalProperties == nil { + dls.AdditionalProperties = make(map[string]interface{}) + } + dls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + dls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dls.Type = typeVar + } + } + } + + return nil +} + +// DynamicsLinkedServiceTypeProperties dynamics linked service properties. +type DynamicsLinkedServiceTypeProperties struct { + // 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' + DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"` + // 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). + HostName *string `json:"hostName,omitempty"` + // 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. + Port *string `json:"port,omitempty"` + // 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). + ServiceURI *string `json:"serviceUri,omitempty"` + // 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). + OrganizationName *string `json:"organizationName,omitempty"` + // 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' + AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"` + // Username - User name to access the Dynamics instance. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password to access the Dynamics instance. + Password BasicSecretBase `json:"password,omitempty"` + // ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // 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' + ServicePrincipalCredentialType DynamicsServicePrincipalCredentialType `json:"servicePrincipalCredentialType,omitempty"` + // 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. + ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedServiceTypeProperties struct. +func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "deploymentType": + if v != nil { + var deploymentType DynamicsDeploymentType + err = json.Unmarshal(*v, &deploymentType) + if err != nil { + return err + } + dlstp.DeploymentType = deploymentType + } + case "hostName": + if v != nil { + var hostName string + err = json.Unmarshal(*v, &hostName) + if err != nil { + return err + } + dlstp.HostName = &hostName + } + case "port": + if v != nil { + var port string + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + dlstp.Port = &port + } + case "serviceUri": + if v != nil { + var serviceURI string + err = json.Unmarshal(*v, &serviceURI) + if err != nil { + return err + } + dlstp.ServiceURI = &serviceURI + } + case "organizationName": + if v != nil { + var organizationName string + err = json.Unmarshal(*v, &organizationName) + if err != nil { + return err + } + dlstp.OrganizationName = &organizationName + } + case "authenticationType": + if v != nil { + var authenticationType DynamicsAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + dlstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + dlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dlstp.Password = password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + dlstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalCredentialType": + if v != nil { + var servicePrincipalCredentialType DynamicsServicePrincipalCredentialType + err = json.Unmarshal(*v, &servicePrincipalCredentialType) + if err != nil { + return err + } + dlstp.ServicePrincipalCredentialType = servicePrincipalCredentialType + } + case "servicePrincipalCredential": + if v != nil { + servicePrincipalCredential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dlstp.ServicePrincipalCredential = servicePrincipalCredential + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + dlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// DynamicsSink a copy activity Dynamics sink. +type DynamicsSink struct { + // WriteBehavior - The write behavior for the operation. + WriteBehavior *string `json:"writeBehavior,omitempty"` + // 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). + IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string). + AlternateKeyName interface{} `json:"alternateKeyName,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsSink. +func (ds DynamicsSink) MarshalJSON() ([]byte, error) { + ds.Type = TypeDynamicsSink + objectMap := make(map[string]interface{}) + if ds.WriteBehavior != nil { + objectMap["writeBehavior"] = ds.WriteBehavior + } + if ds.IgnoreNullValues != nil { + objectMap["ignoreNullValues"] = ds.IgnoreNullValues + } + if ds.AlternateKeyName != nil { + objectMap["alternateKeyName"] = ds.AlternateKeyName + } + if ds.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ds.WriteBatchSize + } + if ds.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ds.WriteBatchTimeout + } + if ds.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ds.SinkRetryCount + } + if ds.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ds.SinkRetryWait + } + if ds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections + } + if ds.Type != "" { + objectMap["type"] = ds.Type + } + for k, v := range ds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDynamicsSink() (*DynamicsSink, bool) { + return &ds, true +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ds, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsSink struct. +func (ds *DynamicsSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior string + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + ds.WriteBehavior = &writeBehavior + } + case "ignoreNullValues": + if v != nil { + var ignoreNullValues interface{} + err = json.Unmarshal(*v, &ignoreNullValues) + if err != nil { + return err + } + ds.IgnoreNullValues = ignoreNullValues + } + case "alternateKeyName": + if v != nil { + var alternateKeyName interface{} + err = json.Unmarshal(*v, &alternateKeyName) + if err != nil { + return err + } + ds.AlternateKeyName = alternateKeyName + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ds.AdditionalProperties == nil { + ds.AdditionalProperties = make(map[string]interface{}) + } + ds.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ds.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ds.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ds.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ds.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ds.Type = typeVar + } + } + } + + return nil +} + +// DynamicsSource a copy activity Dynamics source. +type DynamicsSource struct { + // Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DynamicsSource. +func (ds DynamicsSource) MarshalJSON() ([]byte, error) { + ds.Type = TypeDynamicsSource + objectMap := make(map[string]interface{}) + if ds.Query != nil { + objectMap["query"] = ds.Query + } + if ds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ds.SourceRetryCount + } + if ds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ds.SourceRetryWait + } + if ds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections + } + if ds.Type != "" { + objectMap["type"] = ds.Type + } + for k, v := range ds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDynamicsSource() (*DynamicsSource, bool) { + return &ds, true +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ds, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsSource struct. +func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ds.Query = query + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ds.AdditionalProperties == nil { + ds.AdditionalProperties = make(map[string]interface{}) + } + ds.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ds.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ds.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ds.Type = typeVar + } + } + } + + return nil +} + +// EloquaLinkedService eloqua server linked service. +type EloquaLinkedService struct { + // EloquaLinkedServiceTypeProperties - Eloqua server linked service properties. + *EloquaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for EloquaLinkedService. +func (els EloquaLinkedService) MarshalJSON() ([]byte, error) { + els.Type = TypeEloqua + objectMap := make(map[string]interface{}) + if els.EloquaLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = els.EloquaLinkedServiceTypeProperties + } + if els.ConnectVia != nil { + objectMap["connectVia"] = els.ConnectVia + } + if els.Description != nil { + objectMap["description"] = els.Description + } + if els.Parameters != nil { + objectMap["parameters"] = els.Parameters + } + if els.Annotations != nil { + objectMap["annotations"] = els.Annotations + } + if els.Type != "" { + objectMap["type"] = els.Type + } + for k, v := range els.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return &els, true +} + +// AsDrillLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &els, true +} + +// UnmarshalJSON is the custom unmarshaler for EloquaLinkedService struct. +func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var eloquaLinkedServiceTypeProperties EloquaLinkedServiceTypeProperties + err = json.Unmarshal(*v, &eloquaLinkedServiceTypeProperties) + if err != nil { + return err + } + els.EloquaLinkedServiceTypeProperties = &eloquaLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if els.AdditionalProperties == nil { + els.AdditionalProperties = make(map[string]interface{}) + } + els.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + els.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + els.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + els.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + els.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + els.Type = typeVar + } + } + } + + return nil +} + +// EloquaLinkedServiceTypeProperties eloqua server linked service properties. +type EloquaLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the Eloqua server. (i.e. eloqua.example.com) + Endpoint interface{} `json:"endpoint,omitempty"` + // Username - The site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice) + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name. + Password BasicSecretBase `json:"password,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EloquaLinkedServiceTypeProperties struct. +func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + elstp.Endpoint = endpoint + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + elstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + elstp.Password = password + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + elstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + elstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + elstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + elstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// EloquaObjectDataset eloqua server dataset. +type EloquaObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for EloquaObjectDataset. +func (eod EloquaObjectDataset) MarshalJSON() ([]byte, error) { + eod.Type = TypeEloquaObject + objectMap := make(map[string]interface{}) + if eod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = eod.GenericDatasetTypeProperties + } + if eod.Description != nil { + objectMap["description"] = eod.Description + } + if eod.Structure != nil { + objectMap["structure"] = eod.Structure + } + if eod.Schema != nil { + objectMap["schema"] = eod.Schema + } + if eod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = eod.LinkedServiceName + } + if eod.Parameters != nil { + objectMap["parameters"] = eod.Parameters + } + if eod.Annotations != nil { + objectMap["annotations"] = eod.Annotations + } + if eod.Folder != nil { + objectMap["folder"] = eod.Folder + } + if eod.Type != "" { + objectMap["type"] = eod.Type + } + for k, v := range eod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return &eod, true +} + +// AsDrillTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &eod, true +} + +// UnmarshalJSON is the custom unmarshaler for EloquaObjectDataset struct. +func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + eod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if eod.AdditionalProperties == nil { + eod.AdditionalProperties = make(map[string]interface{}) + } + eod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + eod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + eod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + eod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + eod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + eod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + eod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + eod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + eod.Type = typeVar + } + } + } + + return nil +} + +// EloquaSource a copy activity Eloqua server source. +type EloquaSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for EloquaSource. +func (es EloquaSource) MarshalJSON() ([]byte, error) { + es.Type = TypeEloquaSource + objectMap := make(map[string]interface{}) + if es.Query != nil { + objectMap["query"] = es.Query + } + if es.QueryTimeout != nil { + objectMap["queryTimeout"] = es.QueryTimeout + } + if es.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = es.SourceRetryCount + } + if es.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = es.SourceRetryWait + } + if es.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = es.MaxConcurrentConnections + } + if es.Type != "" { + objectMap["type"] = es.Type + } + for k, v := range es.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsEloquaSource() (*EloquaSource, bool) { + return &es, true +} + +// AsDrillSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &es, true +} + +// AsBinarySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &es, true +} + +// UnmarshalJSON is the custom unmarshaler for EloquaSource struct. +func (es *EloquaSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + es.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + es.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if es.AdditionalProperties == nil { + es.AdditionalProperties = make(map[string]interface{}) + } + es.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + es.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + es.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + es.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + es.Type = typeVar + } + } + } + + return nil +} + +// EvaluateDataFlowExpressionRequest request body structure for data flow expression preview. +type EvaluateDataFlowExpressionRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlowName - The data flow which contains the debug session. + DataFlowName *string `json:"dataFlowName,omitempty"` + // StreamName - The output stream name. + StreamName *string `json:"streamName,omitempty"` + // RowLimits - The row limit for preview request. + RowLimits *int32 `json:"rowLimits,omitempty"` + // Expression - The expression for preview. + Expression *string `json:"expression,omitempty"` +} + +// ExecuteDataFlowActivity execute data flow activity. +type ExecuteDataFlowActivity struct { + // ExecuteDataFlowActivityTypeProperties - Execute data flow activity properties. + *ExecuteDataFlowActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) MarshalJSON() ([]byte, error) { + edfa.Type = TypeExecuteDataFlow + objectMap := make(map[string]interface{}) + if edfa.ExecuteDataFlowActivityTypeProperties != nil { + objectMap["typeProperties"] = edfa.ExecuteDataFlowActivityTypeProperties + } + if edfa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = edfa.LinkedServiceName + } + if edfa.Policy != nil { + objectMap["policy"] = edfa.Policy + } + if edfa.Name != nil { + objectMap["name"] = edfa.Name + } + if edfa.Description != nil { + objectMap["description"] = edfa.Description + } + if edfa.DependsOn != nil { + objectMap["dependsOn"] = edfa.DependsOn + } + if edfa.UserProperties != nil { + objectMap["userProperties"] = edfa.UserProperties + } + if edfa.Type != "" { + objectMap["type"] = edfa.Type + } + for k, v := range edfa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return &edfa, true +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &edfa, true +} + +// AsWebHookActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsBasicActivity() (BasicActivity, bool) { + return &edfa, true +} + +// UnmarshalJSON is the custom unmarshaler for ExecuteDataFlowActivity struct. +func (edfa *ExecuteDataFlowActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var executeDataFlowActivityTypeProperties ExecuteDataFlowActivityTypeProperties + err = json.Unmarshal(*v, &executeDataFlowActivityTypeProperties) + if err != nil { + return err + } + edfa.ExecuteDataFlowActivityTypeProperties = &executeDataFlowActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + edfa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + edfa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if edfa.AdditionalProperties == nil { + edfa.AdditionalProperties = make(map[string]interface{}) + } + edfa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + edfa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + edfa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + edfa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + edfa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + edfa.Type = typeVar + } + } + } + + return nil +} + +// ExecuteDataFlowActivityTypeProperties execute data flow activity properties. +type ExecuteDataFlowActivityTypeProperties struct { + // DataFlow - Data flow reference. + DataFlow *DataFlowReference `json:"dataFlow,omitempty"` + // Staging - Staging info for execute data flow activity. + Staging *DataFlowStagingInfo `json:"staging,omitempty"` + // IntegrationRuntime - The integration runtime reference. + IntegrationRuntime *IntegrationRuntimeReference `json:"integrationRuntime,omitempty"` + // Compute - Compute properties for data flow activity. + Compute *ExecuteDataFlowActivityTypePropertiesCompute `json:"compute,omitempty"` +} + +// ExecuteDataFlowActivityTypePropertiesCompute compute properties for data flow activity. +type ExecuteDataFlowActivityTypePropertiesCompute struct { + // ComputeType - Compute type of the cluster which will execute data flow job. Possible values include: 'General', 'MemoryOptimized', 'ComputeOptimized' + ComputeType DataFlowComputeType `json:"computeType,omitempty"` + // CoreCount - Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. + CoreCount *int32 `json:"coreCount,omitempty"` +} + +// ExecutePipelineActivity execute pipeline activity. +type ExecutePipelineActivity struct { + // ExecutePipelineActivityTypeProperties - Execute pipeline activity properties. + *ExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) MarshalJSON() ([]byte, error) { + epa.Type = TypeExecutePipeline + objectMap := make(map[string]interface{}) + if epa.ExecutePipelineActivityTypeProperties != nil { + objectMap["typeProperties"] = epa.ExecutePipelineActivityTypeProperties + } + if epa.Name != nil { + objectMap["name"] = epa.Name + } + if epa.Description != nil { + objectMap["description"] = epa.Description + } + if epa.DependsOn != nil { + objectMap["dependsOn"] = epa.DependsOn + } + if epa.UserProperties != nil { + objectMap["userProperties"] = epa.UserProperties + } + if epa.Type != "" { + objectMap["type"] = epa.Type + } + for k, v := range epa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return &epa, true +} + +// AsControlActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &epa, true +} + +// AsActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) { + return &epa, true +} + +// UnmarshalJSON is the custom unmarshaler for ExecutePipelineActivity struct. +func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var executePipelineActivityTypeProperties ExecutePipelineActivityTypeProperties + err = json.Unmarshal(*v, &executePipelineActivityTypeProperties) + if err != nil { + return err + } + epa.ExecutePipelineActivityTypeProperties = &executePipelineActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if epa.AdditionalProperties == nil { + epa.AdditionalProperties = make(map[string]interface{}) + } + epa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + epa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + epa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + epa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + epa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + epa.Type = typeVar + } + } + } + + return nil +} + +// ExecutePipelineActivityTypeProperties execute pipeline activity properties. +type ExecutePipelineActivityTypeProperties struct { + // Pipeline - Pipeline reference. + Pipeline *PipelineReference `json:"pipeline,omitempty"` + // Parameters - Pipeline parameters. + Parameters map[string]interface{} `json:"parameters"` + // WaitOnCompletion - Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false. + WaitOnCompletion *bool `json:"waitOnCompletion,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExecutePipelineActivityTypeProperties. +func (epatp ExecutePipelineActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if epatp.Pipeline != nil { + objectMap["pipeline"] = epatp.Pipeline + } + if epatp.Parameters != nil { + objectMap["parameters"] = epatp.Parameters + } + if epatp.WaitOnCompletion != nil { + objectMap["waitOnCompletion"] = epatp.WaitOnCompletion + } + return json.Marshal(objectMap) +} + +// ExecuteSSISPackageActivity execute SSIS package activity. +type ExecuteSSISPackageActivity struct { + // ExecuteSSISPackageActivityTypeProperties - Execute SSIS package activity properties. + *ExecuteSSISPackageActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) MarshalJSON() ([]byte, error) { + espa.Type = TypeExecuteSSISPackage + objectMap := make(map[string]interface{}) + if espa.ExecuteSSISPackageActivityTypeProperties != nil { + objectMap["typeProperties"] = espa.ExecuteSSISPackageActivityTypeProperties + } + if espa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = espa.LinkedServiceName + } + if espa.Policy != nil { + objectMap["policy"] = espa.Policy + } + if espa.Name != nil { + objectMap["name"] = espa.Name + } + if espa.Description != nil { + objectMap["description"] = espa.Description + } + if espa.DependsOn != nil { + objectMap["dependsOn"] = espa.DependsOn + } + if espa.UserProperties != nil { + objectMap["userProperties"] = espa.UserProperties + } + if espa.Type != "" { + objectMap["type"] = espa.Type + } + for k, v := range espa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return &espa, true +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &espa, true +} + +// AsWebHookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsBasicActivity() (BasicActivity, bool) { + return &espa, true +} + +// UnmarshalJSON is the custom unmarshaler for ExecuteSSISPackageActivity struct. +func (espa *ExecuteSSISPackageActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var executeSSISPackageActivityTypeProperties ExecuteSSISPackageActivityTypeProperties + err = json.Unmarshal(*v, &executeSSISPackageActivityTypeProperties) + if err != nil { + return err + } + espa.ExecuteSSISPackageActivityTypeProperties = &executeSSISPackageActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + espa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + espa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if espa.AdditionalProperties == nil { + espa.AdditionalProperties = make(map[string]interface{}) + } + espa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + espa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + espa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + espa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + espa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + espa.Type = typeVar + } + } + } + + return nil +} + +// ExecuteSSISPackageActivityTypeProperties execute SSIS package activity properties. +type ExecuteSSISPackageActivityTypeProperties struct { + // PackageLocation - SSIS package location. + PackageLocation *SSISPackageLocation `json:"packageLocation,omitempty"` + // Runtime - Specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string). + Runtime interface{} `json:"runtime,omitempty"` + // LoggingLevel - The logging level of SSIS package execution. Type: string (or Expression with resultType string). + LoggingLevel interface{} `json:"loggingLevel,omitempty"` + // EnvironmentPath - The environment path to execute the SSIS package. Type: string (or Expression with resultType string). + EnvironmentPath interface{} `json:"environmentPath,omitempty"` + // ExecutionCredential - The package execution credential. + ExecutionCredential *SSISExecutionCredential `json:"executionCredential,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // ProjectParameters - The project level parameters to execute the SSIS package. + ProjectParameters map[string]*SSISExecutionParameter `json:"projectParameters"` + // PackageParameters - The package level parameters to execute the SSIS package. + PackageParameters map[string]*SSISExecutionParameter `json:"packageParameters"` + // ProjectConnectionManagers - The project level connection managers to execute the SSIS package. + ProjectConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"projectConnectionManagers"` + // PackageConnectionManagers - The package level connection managers to execute the SSIS package. + PackageConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"packageConnectionManagers"` + // PropertyOverrides - The property overrides to execute the SSIS package. + PropertyOverrides map[string]*SSISPropertyOverride `json:"propertyOverrides"` + // LogLocation - SSIS package execution log location. + LogLocation *SSISLogLocation `json:"logLocation,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivityTypeProperties. +func (espatp ExecuteSSISPackageActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if espatp.PackageLocation != nil { + objectMap["packageLocation"] = espatp.PackageLocation + } + if espatp.Runtime != nil { + objectMap["runtime"] = espatp.Runtime + } + if espatp.LoggingLevel != nil { + objectMap["loggingLevel"] = espatp.LoggingLevel + } + if espatp.EnvironmentPath != nil { + objectMap["environmentPath"] = espatp.EnvironmentPath + } + if espatp.ExecutionCredential != nil { + objectMap["executionCredential"] = espatp.ExecutionCredential + } + if espatp.ConnectVia != nil { + objectMap["connectVia"] = espatp.ConnectVia + } + if espatp.ProjectParameters != nil { + objectMap["projectParameters"] = espatp.ProjectParameters + } + if espatp.PackageParameters != nil { + objectMap["packageParameters"] = espatp.PackageParameters + } + if espatp.ProjectConnectionManagers != nil { + objectMap["projectConnectionManagers"] = espatp.ProjectConnectionManagers + } + if espatp.PackageConnectionManagers != nil { + objectMap["packageConnectionManagers"] = espatp.PackageConnectionManagers + } + if espatp.PropertyOverrides != nil { + objectMap["propertyOverrides"] = espatp.PropertyOverrides + } + if espatp.LogLocation != nil { + objectMap["logLocation"] = espatp.LogLocation + } + return json.Marshal(objectMap) +} + +// BasicExecutionActivity base class for all execution activities. +type BasicExecutionActivity interface { + AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) + AsAzureFunctionActivity() (*AzureFunctionActivity, bool) + AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) + AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) + AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) + AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) + AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) + AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) + AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) + AsGetMetadataActivity() (*GetMetadataActivity, bool) + AsWebActivity() (*WebActivity, bool) + AsLookupActivity() (*LookupActivity, bool) + AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) + AsDeleteActivity() (*DeleteActivity, bool) + AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) + AsCustomActivity() (*CustomActivity, bool) + AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) + AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) + AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) + AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) + AsHDInsightPigActivity() (*HDInsightPigActivity, bool) + AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) + AsCopyActivity() (*CopyActivity, bool) + AsExecutionActivity() (*ExecutionActivity, bool) +} + +// ExecutionActivity base class for all execution activities. +type ExecutionActivity struct { + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +func unmarshalBasicExecutionActivity(body []byte) (BasicExecutionActivity, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeExecuteDataFlow): + var edfa ExecuteDataFlowActivity + err := json.Unmarshal(body, &edfa) + return edfa, err + case string(TypeAzureFunctionActivity): + var afa AzureFunctionActivity + err := json.Unmarshal(body, &afa) + return afa, err + case string(TypeDatabricksSparkPython): + var dspa DatabricksSparkPythonActivity + err := json.Unmarshal(body, &dspa) + return dspa, err + case string(TypeDatabricksSparkJar): + var dsja DatabricksSparkJarActivity + err := json.Unmarshal(body, &dsja) + return dsja, err + case string(TypeDatabricksNotebook): + var dna DatabricksNotebookActivity + err := json.Unmarshal(body, &dna) + return dna, err + case string(TypeDataLakeAnalyticsUSQL): + var dlaua DataLakeAnalyticsUSQLActivity + err := json.Unmarshal(body, &dlaua) + return dlaua, err + case string(TypeAzureMLExecutePipeline): + var amepa AzureMLExecutePipelineActivity + err := json.Unmarshal(body, &amepa) + return amepa, err + case string(TypeAzureMLUpdateResource): + var amura AzureMLUpdateResourceActivity + err := json.Unmarshal(body, &amura) + return amura, err + case string(TypeAzureMLBatchExecution): + var ambea AzureMLBatchExecutionActivity + err := json.Unmarshal(body, &ambea) + return ambea, err + case string(TypeGetMetadata): + var gma GetMetadataActivity + err := json.Unmarshal(body, &gma) + return gma, err + case string(TypeWebActivity): + var wa WebActivity + err := json.Unmarshal(body, &wa) + return wa, err + case string(TypeLookup): + var la LookupActivity + err := json.Unmarshal(body, &la) + return la, err + case string(TypeAzureDataExplorerCommand): + var adeca AzureDataExplorerCommandActivity + err := json.Unmarshal(body, &adeca) + return adeca, err + case string(TypeDelete): + var da DeleteActivity + err := json.Unmarshal(body, &da) + return da, err + case string(TypeSQLServerStoredProcedure): + var ssspa SQLServerStoredProcedureActivity + err := json.Unmarshal(body, &ssspa) + return ssspa, err + case string(TypeCustom): + var ca CustomActivity + err := json.Unmarshal(body, &ca) + return ca, err + case string(TypeExecuteSSISPackage): + var espa ExecuteSSISPackageActivity + err := json.Unmarshal(body, &espa) + return espa, err + case string(TypeHDInsightSpark): + var hisa HDInsightSparkActivity + err := json.Unmarshal(body, &hisa) + return hisa, err + case string(TypeHDInsightStreaming): + var hisa HDInsightStreamingActivity + err := json.Unmarshal(body, &hisa) + return hisa, err + case string(TypeHDInsightMapReduce): + var himra HDInsightMapReduceActivity + err := json.Unmarshal(body, &himra) + return himra, err + case string(TypeHDInsightPig): + var hipa HDInsightPigActivity + err := json.Unmarshal(body, &hipa) + return hipa, err + case string(TypeHDInsightHive): + var hiha HDInsightHiveActivity + err := json.Unmarshal(body, &hiha) + return hiha, err + case string(TypeCopy): + var ca CopyActivity + err := json.Unmarshal(body, &ca) + return ca, err + default: + var ea ExecutionActivity + err := json.Unmarshal(body, &ea) + return ea, err + } +} +func unmarshalBasicExecutionActivityArray(body []byte) ([]BasicExecutionActivity, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + eaArray := make([]BasicExecutionActivity, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ea, err := unmarshalBasicExecutionActivity(*rawMessage) + if err != nil { + return nil, err + } + eaArray[index] = ea + } + return eaArray, nil +} + +// MarshalJSON is the custom marshaler for ExecutionActivity. +func (ea ExecutionActivity) MarshalJSON() ([]byte, error) { + ea.Type = TypeExecution + objectMap := make(map[string]interface{}) + if ea.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ea.LinkedServiceName + } + if ea.Policy != nil { + objectMap["policy"] = ea.Policy + } + if ea.Name != nil { + objectMap["name"] = ea.Name + } + if ea.Description != nil { + objectMap["description"] = ea.Description + } + if ea.DependsOn != nil { + objectMap["dependsOn"] = ea.DependsOn + } + if ea.UserProperties != nil { + objectMap["userProperties"] = ea.UserProperties + } + if ea.Type != "" { + objectMap["type"] = ea.Type + } + for k, v := range ea.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return &ea, true +} + +// AsBasicExecutionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &ea, true +} + +// AsWebHookActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsBasicActivity() (BasicActivity, bool) { + return &ea, true +} + +// UnmarshalJSON is the custom unmarshaler for ExecutionActivity struct. +func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ea.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + ea.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ea.AdditionalProperties == nil { + ea.AdditionalProperties = make(map[string]interface{}) + } + ea.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ea.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ea.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ea.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ea.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ea.Type = typeVar + } + } + } + + return nil +} + +// ExposureControlRequest the exposure control request. +type ExposureControlRequest struct { + // FeatureName - The feature name. + FeatureName *string `json:"featureName,omitempty"` + // FeatureType - The feature type. + FeatureType *string `json:"featureType,omitempty"` +} + +// ExposureControlResponse the exposure control response. +type ExposureControlResponse struct { + // FeatureName - READ-ONLY; The feature name. + FeatureName *string `json:"featureName,omitempty"` + // Value - READ-ONLY; The feature value. + Value *string `json:"value,omitempty"` +} + +// Expression azure Synapse expression definition. +type Expression struct { + // Type - Expression type. + Type *string `json:"type,omitempty"` + // Value - Expression value. + Value *string `json:"value,omitempty"` +} + +// FileServerLinkedService file system linked service. +type FileServerLinkedService struct { + // FileServerLinkedServiceTypeProperties - File system linked service properties. + *FileServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileServerLinkedService. +func (fsls FileServerLinkedService) MarshalJSON() ([]byte, error) { + fsls.Type = TypeFileServer + objectMap := make(map[string]interface{}) + if fsls.FileServerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = fsls.FileServerLinkedServiceTypeProperties + } + if fsls.ConnectVia != nil { + objectMap["connectVia"] = fsls.ConnectVia + } + if fsls.Description != nil { + objectMap["description"] = fsls.Description + } + if fsls.Parameters != nil { + objectMap["parameters"] = fsls.Parameters + } + if fsls.Annotations != nil { + objectMap["annotations"] = fsls.Annotations + } + if fsls.Type != "" { + objectMap["type"] = fsls.Type + } + for k, v := range fsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return &fsls, true +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &fsls, true +} + +// UnmarshalJSON is the custom unmarshaler for FileServerLinkedService struct. +func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var fileServerLinkedServiceTypeProperties FileServerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &fileServerLinkedServiceTypeProperties) + if err != nil { + return err + } + fsls.FileServerLinkedServiceTypeProperties = &fileServerLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsls.AdditionalProperties == nil { + fsls.AdditionalProperties = make(map[string]interface{}) + } + fsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + fsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + fsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + fsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + fsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsls.Type = typeVar + } + } + } + + return nil +} + +// FileServerLinkedServiceTypeProperties file system linked service properties. +type FileServerLinkedServiceTypeProperties struct { + // Host - Host name of the server. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // UserID - User ID to logon the server. Type: string (or Expression with resultType string). + UserID interface{} `json:"userId,omitempty"` + // Password - Password to logon the server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FileServerLinkedServiceTypeProperties struct. +func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + fslstp.Host = host + } + case "userId": + if v != nil { + var userID interface{} + err = json.Unmarshal(*v, &userID) + if err != nil { + return err + } + fslstp.UserID = userID + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + fslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + fslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// FileServerLocation the location of file server dataset. +type FileServerLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileServerLocation. +func (fsl FileServerLocation) MarshalJSON() ([]byte, error) { + fsl.Type = TypeFileServerLocation + objectMap := make(map[string]interface{}) + if fsl.FolderPath != nil { + objectMap["folderPath"] = fsl.FolderPath + } + if fsl.FileName != nil { + objectMap["fileName"] = fsl.FileName + } + if fsl.Type != "" { + objectMap["type"] = fsl.Type + } + for k, v := range fsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return &fsl, true +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for FileServerLocation. +func (fsl FileServerLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &fsl, true +} + +// UnmarshalJSON is the custom unmarshaler for FileServerLocation struct. +func (fsl *FileServerLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsl.AdditionalProperties == nil { + fsl.AdditionalProperties = make(map[string]interface{}) + } + fsl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + fsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + fsl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsl.Type = typeVar + } + } + } + + return nil +} + +// FileServerReadSettings file server read settings. +type FileServerReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - FileServer wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - FileServer wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileServerReadSettings. +func (fsrs FileServerReadSettings) MarshalJSON() ([]byte, error) { + fsrs.Type = TypeFileServerReadSettings + objectMap := make(map[string]interface{}) + if fsrs.Recursive != nil { + objectMap["recursive"] = fsrs.Recursive + } + if fsrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = fsrs.WildcardFolderPath + } + if fsrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = fsrs.WildcardFileName + } + if fsrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = fsrs.EnablePartitionDiscovery + } + if fsrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = fsrs.ModifiedDatetimeStart + } + if fsrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = fsrs.ModifiedDatetimeEnd + } + if fsrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fsrs.MaxConcurrentConnections + } + if fsrs.Type != "" { + objectMap["type"] = fsrs.Type + } + for k, v := range fsrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return &fsrs, true +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings. +func (fsrs FileServerReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &fsrs, true +} + +// UnmarshalJSON is the custom unmarshaler for FileServerReadSettings struct. +func (fsrs *FileServerReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + fsrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + fsrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + fsrs.WildcardFileName = wildcardFileName + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + fsrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + fsrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + fsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsrs.AdditionalProperties == nil { + fsrs.AdditionalProperties = make(map[string]interface{}) + } + fsrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + fsrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsrs.Type = typeVar + } + } + } + + return nil +} + +// FileServerWriteSettings file server write settings. +type FileServerWriteSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileServerWriteSettings. +func (fsws FileServerWriteSettings) MarshalJSON() ([]byte, error) { + fsws.Type = TypeFileServerWriteSettings + objectMap := make(map[string]interface{}) + if fsws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fsws.MaxConcurrentConnections + } + if fsws.CopyBehavior != nil { + objectMap["copyBehavior"] = fsws.CopyBehavior + } + if fsws.Type != "" { + objectMap["type"] = fsws.Type + } + for k, v := range fsws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return &fsws, true +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsSftpWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &fsws, true +} + +// UnmarshalJSON is the custom unmarshaler for FileServerWriteSettings struct. +func (fsws *FileServerWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsws.AdditionalProperties == nil { + fsws.AdditionalProperties = make(map[string]interface{}) + } + fsws.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + fsws.MaxConcurrentConnections = maxConcurrentConnections + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + fsws.CopyBehavior = copyBehavior + } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsws.Type = typeVar + } + } + } + + return nil +} + +// FileSystemSink a copy activity file system sink. +type FileSystemSink struct { + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileSystemSink. +func (fss FileSystemSink) MarshalJSON() ([]byte, error) { + fss.Type = TypeFileSystemSink + objectMap := make(map[string]interface{}) + if fss.CopyBehavior != nil { + objectMap["copyBehavior"] = fss.CopyBehavior + } + if fss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = fss.WriteBatchSize + } + if fss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = fss.WriteBatchTimeout + } + if fss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = fss.SinkRetryCount + } + if fss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = fss.SinkRetryWait + } + if fss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections + } + if fss.Type != "" { + objectMap["type"] = fss.Type + } + for k, v := range fss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsFileSystemSink() (*FileSystemSink, bool) { + return &fss, true +} + +// AsBlobSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsBasicCopySink() (BasicCopySink, bool) { + return &fss, true +} + +// UnmarshalJSON is the custom unmarshaler for FileSystemSink struct. +func (fss *FileSystemSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + fss.CopyBehavior = copyBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fss.AdditionalProperties == nil { + fss.AdditionalProperties = make(map[string]interface{}) + } + fss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + fss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + fss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + fss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + fss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + fss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fss.Type = typeVar + } + } + } + + return nil +} + +// FileSystemSource a copy activity file system source. +type FileSystemSource struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileSystemSource. +func (fss FileSystemSource) MarshalJSON() ([]byte, error) { + fss.Type = TypeFileSystemSource + objectMap := make(map[string]interface{}) + if fss.Recursive != nil { + objectMap["recursive"] = fss.Recursive + } + if fss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = fss.SourceRetryCount + } + if fss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = fss.SourceRetryWait + } + if fss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections + } + if fss.Type != "" { + objectMap["type"] = fss.Type + } + for k, v := range fss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsFileSystemSource() (*FileSystemSource, bool) { + return &fss, true +} + +// AsRestSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBasicCopySource() (BasicCopySource, bool) { + return &fss, true +} + +// UnmarshalJSON is the custom unmarshaler for FileSystemSource struct. +func (fss *FileSystemSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + fss.Recursive = recursive + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fss.AdditionalProperties == nil { + fss.AdditionalProperties = make(map[string]interface{}) + } + fss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + fss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + fss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + fss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fss.Type = typeVar + } + } + } + + return nil +} + +// FilterActivity filter and return results from input array based on the conditions. +type FilterActivity struct { + // FilterActivityTypeProperties - Filter activity properties. + *FilterActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FilterActivity. +func (fa FilterActivity) MarshalJSON() ([]byte, error) { + fa.Type = TypeFilter + objectMap := make(map[string]interface{}) + if fa.FilterActivityTypeProperties != nil { + objectMap["typeProperties"] = fa.FilterActivityTypeProperties + } + if fa.Name != nil { + objectMap["name"] = fa.Name + } + if fa.Description != nil { + objectMap["description"] = fa.Description + } + if fa.DependsOn != nil { + objectMap["dependsOn"] = fa.DependsOn + } + if fa.UserProperties != nil { + objectMap["userProperties"] = fa.UserProperties + } + if fa.Type != "" { + objectMap["type"] = fa.Type + } + for k, v := range fa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsFilterActivity() (*FilterActivity, bool) { + return &fa, true +} + +// AsValidationActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &fa, true +} + +// AsActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsBasicActivity() (BasicActivity, bool) { + return &fa, true +} + +// UnmarshalJSON is the custom unmarshaler for FilterActivity struct. +func (fa *FilterActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var filterActivityTypeProperties FilterActivityTypeProperties + err = json.Unmarshal(*v, &filterActivityTypeProperties) + if err != nil { + return err + } + fa.FilterActivityTypeProperties = &filterActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fa.AdditionalProperties == nil { + fa.AdditionalProperties = make(map[string]interface{}) + } + fa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + fa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + fa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + fa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fa.Type = typeVar + } + } + } + + return nil +} + +// FilterActivityTypeProperties filter activity properties. +type FilterActivityTypeProperties struct { + // Items - Input array on which filter should be applied. + Items *Expression `json:"items,omitempty"` + // Condition - Condition to be used for filtering the input. + Condition *Expression `json:"condition,omitempty"` +} + +// ForEachActivity this activity is used for iterating over a collection and execute given activities. +type ForEachActivity struct { + // ForEachActivityTypeProperties - ForEach activity properties. + *ForEachActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ForEachActivity. +func (fea ForEachActivity) MarshalJSON() ([]byte, error) { + fea.Type = TypeForEach + objectMap := make(map[string]interface{}) + if fea.ForEachActivityTypeProperties != nil { + objectMap["typeProperties"] = fea.ForEachActivityTypeProperties + } + if fea.Name != nil { + objectMap["name"] = fea.Name + } + if fea.Description != nil { + objectMap["description"] = fea.Description + } + if fea.DependsOn != nil { + objectMap["dependsOn"] = fea.DependsOn + } + if fea.UserProperties != nil { + objectMap["userProperties"] = fea.UserProperties + } + if fea.Type != "" { + objectMap["type"] = fea.Type + } + for k, v := range fea.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsForEachActivity() (*ForEachActivity, bool) { + return &fea, true +} + +// AsSwitchActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &fea, true +} + +// AsActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsBasicActivity() (BasicActivity, bool) { + return &fea, true +} + +// UnmarshalJSON is the custom unmarshaler for ForEachActivity struct. +func (fea *ForEachActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var forEachActivityTypeProperties ForEachActivityTypeProperties + err = json.Unmarshal(*v, &forEachActivityTypeProperties) + if err != nil { + return err + } + fea.ForEachActivityTypeProperties = &forEachActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fea.AdditionalProperties == nil { + fea.AdditionalProperties = make(map[string]interface{}) + } + fea.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fea.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + fea.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + fea.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + fea.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fea.Type = typeVar + } + } + } + + return nil +} + +// ForEachActivityTypeProperties forEach activity properties. +type ForEachActivityTypeProperties struct { + // IsSequential - Should the loop be executed in sequence or in parallel (max 50) + IsSequential *bool `json:"isSequential,omitempty"` + // BatchCount - Batch count to be used for controlling the number of parallel execution (when isSequential is set to false). + BatchCount *int32 `json:"batchCount,omitempty"` + // Items - Collection to iterate. + Items *Expression `json:"items,omitempty"` + // Activities - List of activities to execute . + Activities *[]BasicActivity `json:"activities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ForEachActivityTypeProperties struct. +func (featp *ForEachActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "isSequential": + if v != nil { + var isSequential bool + err = json.Unmarshal(*v, &isSequential) + if err != nil { + return err + } + featp.IsSequential = &isSequential + } + case "batchCount": + if v != nil { + var batchCount int32 + err = json.Unmarshal(*v, &batchCount) + if err != nil { + return err + } + featp.BatchCount = &batchCount + } + case "items": + if v != nil { + var items Expression + err = json.Unmarshal(*v, &items) + if err != nil { + return err + } + featp.Items = &items + } + case "activities": + if v != nil { + activities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + featp.Activities = &activities + } + } + } + + return nil +} + +// BasicFormatReadSettings format read settings. +type BasicFormatReadSettings interface { + AsDelimitedTextReadSettings() (*DelimitedTextReadSettings, bool) + AsFormatReadSettings() (*FormatReadSettings, bool) +} + +// FormatReadSettings format read settings. +type FormatReadSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeFormatReadSettings', 'TypeDelimitedTextReadSettings' + Type TypeBasicFormatReadSettings `json:"type,omitempty"` +} + +func unmarshalBasicFormatReadSettings(body []byte) (BasicFormatReadSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeDelimitedTextReadSettings): + var dtrs DelimitedTextReadSettings + err := json.Unmarshal(body, &dtrs) + return dtrs, err + default: + var frs FormatReadSettings + err := json.Unmarshal(body, &frs) + return frs, err + } +} +func unmarshalBasicFormatReadSettingsArray(body []byte) ([]BasicFormatReadSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + frsArray := make([]BasicFormatReadSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + frs, err := unmarshalBasicFormatReadSettings(*rawMessage) + if err != nil { + return nil, err + } + frsArray[index] = frs + } + return frsArray, nil +} + +// MarshalJSON is the custom marshaler for FormatReadSettings. +func (frs FormatReadSettings) MarshalJSON() ([]byte, error) { + frs.Type = TypeFormatReadSettings + objectMap := make(map[string]interface{}) + if frs.Type != "" { + objectMap["type"] = frs.Type + } + for k, v := range frs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsDelimitedTextReadSettings is the BasicFormatReadSettings implementation for FormatReadSettings. +func (frs FormatReadSettings) AsDelimitedTextReadSettings() (*DelimitedTextReadSettings, bool) { + return nil, false +} + +// AsFormatReadSettings is the BasicFormatReadSettings implementation for FormatReadSettings. +func (frs FormatReadSettings) AsFormatReadSettings() (*FormatReadSettings, bool) { + return &frs, true +} + +// AsBasicFormatReadSettings is the BasicFormatReadSettings implementation for FormatReadSettings. +func (frs FormatReadSettings) AsBasicFormatReadSettings() (BasicFormatReadSettings, bool) { + return &frs, true +} + +// UnmarshalJSON is the custom unmarshaler for FormatReadSettings struct. +func (frs *FormatReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if frs.AdditionalProperties == nil { + frs.AdditionalProperties = make(map[string]interface{}) + } + frs.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicFormatReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + frs.Type = typeVar + } + } + } + + return nil +} + +// BasicFormatWriteSettings format write settings. +type BasicFormatWriteSettings interface { + AsJSONWriteSettings() (*JSONWriteSettings, bool) + AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) + AsAvroWriteSettings() (*AvroWriteSettings, bool) + AsFormatWriteSettings() (*FormatWriteSettings, bool) +} + +// FormatWriteSettings format write settings. +type FormatWriteSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings' + Type TypeBasicFormatWriteSettings `json:"type,omitempty"` +} + +func unmarshalBasicFormatWriteSettings(body []byte) (BasicFormatWriteSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeJSONWriteSettings): + var jws JSONWriteSettings + err := json.Unmarshal(body, &jws) + return jws, err + case string(TypeDelimitedTextWriteSettings): + var dtws DelimitedTextWriteSettings + err := json.Unmarshal(body, &dtws) + return dtws, err + case string(TypeAvroWriteSettings): + var aws AvroWriteSettings + err := json.Unmarshal(body, &aws) + return aws, err + default: + var fws FormatWriteSettings + err := json.Unmarshal(body, &fws) + return fws, err + } +} +func unmarshalBasicFormatWriteSettingsArray(body []byte) ([]BasicFormatWriteSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fwsArray := make([]BasicFormatWriteSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fws, err := unmarshalBasicFormatWriteSettings(*rawMessage) + if err != nil { + return nil, err + } + fwsArray[index] = fws + } + return fwsArray, nil +} + +// MarshalJSON is the custom marshaler for FormatWriteSettings. +func (fws FormatWriteSettings) MarshalJSON() ([]byte, error) { + fws.Type = TypeFormatWriteSettings + objectMap := make(map[string]interface{}) + if fws.Type != "" { + objectMap["type"] = fws.Type + } + for k, v := range fws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsJSONWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings. +func (fws FormatWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) { + return nil, false +} + +// AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings. +func (fws FormatWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) { + return nil, false +} + +// AsAvroWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings. +func (fws FormatWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) { + return nil, false +} + +// AsFormatWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings. +func (fws FormatWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) { + return &fws, true +} + +// AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings. +func (fws FormatWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) { + return &fws, true +} + +// UnmarshalJSON is the custom unmarshaler for FormatWriteSettings struct. +func (fws *FormatWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fws.AdditionalProperties == nil { + fws.AdditionalProperties = make(map[string]interface{}) + } + fws.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicFormatWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fws.Type = typeVar + } + } + } + + return nil +} + +// FtpReadSettings ftp read settings. +type FtpReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Ftp wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Ftp wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // UseBinaryTransfer - Specify whether to use binary transfer mode for FTP stores. + UseBinaryTransfer *bool `json:"useBinaryTransfer,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FtpReadSettings. +func (frs FtpReadSettings) MarshalJSON() ([]byte, error) { + frs.Type = TypeFtpReadSettings + objectMap := make(map[string]interface{}) + if frs.Recursive != nil { + objectMap["recursive"] = frs.Recursive + } + if frs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = frs.WildcardFolderPath + } + if frs.WildcardFileName != nil { + objectMap["wildcardFileName"] = frs.WildcardFileName + } + if frs.UseBinaryTransfer != nil { + objectMap["useBinaryTransfer"] = frs.UseBinaryTransfer + } + if frs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = frs.MaxConcurrentConnections + } + if frs.Type != "" { + objectMap["type"] = frs.Type + } + for k, v := range frs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return &frs, true +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings. +func (frs FtpReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &frs, true +} + +// UnmarshalJSON is the custom unmarshaler for FtpReadSettings struct. +func (frs *FtpReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + frs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + frs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + frs.WildcardFileName = wildcardFileName + } + case "useBinaryTransfer": + if v != nil { + var useBinaryTransfer bool + err = json.Unmarshal(*v, &useBinaryTransfer) + if err != nil { + return err + } + frs.UseBinaryTransfer = &useBinaryTransfer + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if frs.AdditionalProperties == nil { + frs.AdditionalProperties = make(map[string]interface{}) + } + frs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + frs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + frs.Type = typeVar + } + } + } + + return nil +} + +// FtpServerLinkedService a FTP server Linked Service. +type FtpServerLinkedService struct { + // FtpServerLinkedServiceTypeProperties - Properties specific to this linked service type. + *FtpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FtpServerLinkedService. +func (fsls FtpServerLinkedService) MarshalJSON() ([]byte, error) { + fsls.Type = TypeFtpServer + objectMap := make(map[string]interface{}) + if fsls.FtpServerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = fsls.FtpServerLinkedServiceTypeProperties + } + if fsls.ConnectVia != nil { + objectMap["connectVia"] = fsls.ConnectVia + } + if fsls.Description != nil { + objectMap["description"] = fsls.Description + } + if fsls.Parameters != nil { + objectMap["parameters"] = fsls.Parameters + } + if fsls.Annotations != nil { + objectMap["annotations"] = fsls.Annotations + } + if fsls.Type != "" { + objectMap["type"] = fsls.Type + } + for k, v := range fsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return &fsls, true +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &fsls, true +} + +// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedService struct. +func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var ftpServerLinkedServiceTypeProperties FtpServerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &ftpServerLinkedServiceTypeProperties) + if err != nil { + return err + } + fsls.FtpServerLinkedServiceTypeProperties = &ftpServerLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsls.AdditionalProperties == nil { + fsls.AdditionalProperties = make(map[string]interface{}) + } + fsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + fsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + fsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + fsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + fsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsls.Type = typeVar + } + } + } + + return nil +} + +// FtpServerLinkedServiceTypeProperties properties specific to this linked service type. +type FtpServerLinkedServiceTypeProperties struct { + // Host - Host name of the FTP server. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // 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. + Port interface{} `json:"port,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'FtpAuthenticationTypeBasic', 'FtpAuthenticationTypeAnonymous' + AuthenticationType FtpAuthenticationType `json:"authenticationType,omitempty"` + // UserName - Username to logon the FTP server. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password to logon the FTP server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // EnableSsl - If true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean). + EnableSsl interface{} `json:"enableSsl,omitempty"` + // 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). + EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedServiceTypeProperties struct. +func (fslstp *FtpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + fslstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + fslstp.Port = port + } + case "authenticationType": + if v != nil { + var authenticationType FtpAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + fslstp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + fslstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + fslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + fslstp.EncryptedCredential = encryptedCredential + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + fslstp.EnableSsl = enableSsl + } + case "enableServerCertificateValidation": + if v != nil { + var enableServerCertificateValidation interface{} + err = json.Unmarshal(*v, &enableServerCertificateValidation) + if err != nil { + return err + } + fslstp.EnableServerCertificateValidation = enableServerCertificateValidation + } + } + } + + return nil +} + +// FtpServerLocation the location of ftp server dataset. +type FtpServerLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FtpServerLocation. +func (fsl FtpServerLocation) MarshalJSON() ([]byte, error) { + fsl.Type = TypeFtpServerLocation + objectMap := make(map[string]interface{}) + if fsl.FolderPath != nil { + objectMap["folderPath"] = fsl.FolderPath + } + if fsl.FileName != nil { + objectMap["fileName"] = fsl.FileName + } + if fsl.Type != "" { + objectMap["type"] = fsl.Type + } + for k, v := range fsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return &fsl, true +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for FtpServerLocation. +func (fsl FtpServerLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &fsl, true +} + +// UnmarshalJSON is the custom unmarshaler for FtpServerLocation struct. +func (fsl *FtpServerLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsl.AdditionalProperties == nil { + fsl.AdditionalProperties = make(map[string]interface{}) + } + fsl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + fsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + fsl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsl.Type = typeVar + } + } + } + + return nil +} + +// GenericDatasetTypeProperties properties specific to this dataset type. +type GenericDatasetTypeProperties struct { + // TableName - The table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// GetMetadataActivity activity to get metadata of dataset +type GetMetadataActivity struct { + // GetMetadataActivityTypeProperties - GetMetadata activity properties. + *GetMetadataActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GetMetadataActivity. +func (gma GetMetadataActivity) MarshalJSON() ([]byte, error) { + gma.Type = TypeGetMetadata + objectMap := make(map[string]interface{}) + if gma.GetMetadataActivityTypeProperties != nil { + objectMap["typeProperties"] = gma.GetMetadataActivityTypeProperties + } + if gma.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gma.LinkedServiceName + } + if gma.Policy != nil { + objectMap["policy"] = gma.Policy + } + if gma.Name != nil { + objectMap["name"] = gma.Name + } + if gma.Description != nil { + objectMap["description"] = gma.Description + } + if gma.DependsOn != nil { + objectMap["dependsOn"] = gma.DependsOn + } + if gma.UserProperties != nil { + objectMap["userProperties"] = gma.UserProperties + } + if gma.Type != "" { + objectMap["type"] = gma.Type + } + for k, v := range gma.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return &gma, true +} + +// AsWebActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &gma, true +} + +// AsWebHookActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsBasicActivity() (BasicActivity, bool) { + return &gma, true +} + +// UnmarshalJSON is the custom unmarshaler for GetMetadataActivity struct. +func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var getMetadataActivityTypeProperties GetMetadataActivityTypeProperties + err = json.Unmarshal(*v, &getMetadataActivityTypeProperties) + if err != nil { + return err + } + gma.GetMetadataActivityTypeProperties = &getMetadataActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + gma.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + gma.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gma.AdditionalProperties == nil { + gma.AdditionalProperties = make(map[string]interface{}) + } + gma.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + gma.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gma.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + gma.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + gma.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gma.Type = typeVar + } + } + } + + return nil +} + +// GetMetadataActivityTypeProperties getMetadata activity properties. +type GetMetadataActivityTypeProperties struct { + // Dataset - GetMetadata activity dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // FieldList - Fields of metadata to get from dataset. + FieldList *[]interface{} `json:"fieldList,omitempty"` +} + +// GetSsisObjectMetadataRequest the request payload of get SSIS object metadata. +type GetSsisObjectMetadataRequest struct { + // MetadataPath - Metadata path. + MetadataPath *string `json:"metadataPath,omitempty"` +} + +// GoogleAdWordsLinkedService google AdWords service linked service. +type GoogleAdWordsLinkedService struct { + // GoogleAdWordsLinkedServiceTypeProperties - Google AdWords service linked service properties. + *GoogleAdWordsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) MarshalJSON() ([]byte, error) { + gawls.Type = TypeGoogleAdWords + objectMap := make(map[string]interface{}) + if gawls.GoogleAdWordsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gawls.GoogleAdWordsLinkedServiceTypeProperties + } + if gawls.ConnectVia != nil { + objectMap["connectVia"] = gawls.ConnectVia + } + if gawls.Description != nil { + objectMap["description"] = gawls.Description + } + if gawls.Parameters != nil { + objectMap["parameters"] = gawls.Parameters + } + if gawls.Annotations != nil { + objectMap["annotations"] = gawls.Annotations + } + if gawls.Type != "" { + objectMap["type"] = gawls.Type + } + for k, v := range gawls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return &gawls, true +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gawls, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedService struct. +func (gawls *GoogleAdWordsLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var googleAdWordsLinkedServiceTypeProperties GoogleAdWordsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &googleAdWordsLinkedServiceTypeProperties) + if err != nil { + return err + } + gawls.GoogleAdWordsLinkedServiceTypeProperties = &googleAdWordsLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gawls.AdditionalProperties == nil { + gawls.AdditionalProperties = make(map[string]interface{}) + } + gawls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + gawls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gawls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gawls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gawls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gawls.Type = typeVar + } + } + } + + return nil +} + +// GoogleAdWordsLinkedServiceTypeProperties google AdWords service linked service properties. +type GoogleAdWordsLinkedServiceTypeProperties struct { + // ClientCustomerID - The Client customer ID of the AdWords account that you want to fetch report data for. + ClientCustomerID interface{} `json:"clientCustomerID,omitempty"` + // DeveloperToken - The developer token associated with the manager account that you use to grant access to the AdWords API. + DeveloperToken BasicSecretBase `json:"developerToken,omitempty"` + // AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'ServiceAuthentication', 'UserAuthentication' + AuthenticationType GoogleAdWordsAuthenticationType `json:"authenticationType,omitempty"` + // RefreshToken - The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication. + RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` + // ClientID - The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string). + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret of the google application used to acquire the refresh token. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. + Email interface{} `json:"email,omitempty"` + // 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. + KeyFilePath interface{} `json:"keyFilePath,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedServiceTypeProperties struct. +func (gawlstp *GoogleAdWordsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "clientCustomerID": + if v != nil { + var clientCustomerID interface{} + err = json.Unmarshal(*v, &clientCustomerID) + if err != nil { + return err + } + gawlstp.ClientCustomerID = clientCustomerID + } + case "developerToken": + if v != nil { + developerToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gawlstp.DeveloperToken = developerToken + } + case "authenticationType": + if v != nil { + var authenticationType GoogleAdWordsAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + gawlstp.AuthenticationType = authenticationType + } + case "refreshToken": + if v != nil { + refreshToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gawlstp.RefreshToken = refreshToken + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + gawlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gawlstp.ClientSecret = clientSecret + } + case "email": + if v != nil { + var email interface{} + err = json.Unmarshal(*v, &email) + if err != nil { + return err + } + gawlstp.Email = email + } + case "keyFilePath": + if v != nil { + var keyFilePath interface{} + err = json.Unmarshal(*v, &keyFilePath) + if err != nil { + return err + } + gawlstp.KeyFilePath = keyFilePath + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + gawlstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + gawlstp.UseSystemTrustStore = useSystemTrustStore + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + gawlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// GoogleAdWordsObjectDataset google AdWords service dataset. +type GoogleAdWordsObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) MarshalJSON() ([]byte, error) { + gawod.Type = TypeGoogleAdWordsObject + objectMap := make(map[string]interface{}) + if gawod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = gawod.GenericDatasetTypeProperties + } + if gawod.Description != nil { + objectMap["description"] = gawod.Description + } + if gawod.Structure != nil { + objectMap["structure"] = gawod.Structure + } + if gawod.Schema != nil { + objectMap["schema"] = gawod.Schema + } + if gawod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gawod.LinkedServiceName + } + if gawod.Parameters != nil { + objectMap["parameters"] = gawod.Parameters + } + if gawod.Annotations != nil { + objectMap["annotations"] = gawod.Annotations + } + if gawod.Folder != nil { + objectMap["folder"] = gawod.Folder + } + if gawod.Type != "" { + objectMap["type"] = gawod.Type + } + for k, v := range gawod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return &gawod, true +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &gawod, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsObjectDataset struct. +func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + gawod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gawod.AdditionalProperties == nil { + gawod.AdditionalProperties = make(map[string]interface{}) + } + gawod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gawod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + gawod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + gawod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + gawod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gawod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gawod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + gawod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gawod.Type = typeVar + } + } + } + + return nil +} + +// GoogleAdWordsSource a copy activity Google AdWords service source. +type GoogleAdWordsSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) MarshalJSON() ([]byte, error) { + gaws.Type = TypeGoogleAdWordsSource + objectMap := make(map[string]interface{}) + if gaws.Query != nil { + objectMap["query"] = gaws.Query + } + if gaws.QueryTimeout != nil { + objectMap["queryTimeout"] = gaws.QueryTimeout + } + if gaws.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = gaws.SourceRetryCount + } + if gaws.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = gaws.SourceRetryWait + } + if gaws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gaws.MaxConcurrentConnections + } + if gaws.Type != "" { + objectMap["type"] = gaws.Type + } + for k, v := range gaws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return &gaws, true +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &gaws, true +} + +// AsBinarySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBasicCopySource() (BasicCopySource, bool) { + return &gaws, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsSource struct. +func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + gaws.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + gaws.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gaws.AdditionalProperties == nil { + gaws.AdditionalProperties = make(map[string]interface{}) + } + gaws.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + gaws.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + gaws.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + gaws.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gaws.Type = typeVar + } + } + } + + return nil +} + +// GoogleBigQueryDatasetTypeProperties google BigQuery Dataset Properties +type GoogleBigQueryDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using database + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Google BigQuery. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Dataset - The database name of the Google BigQuery. Type: string (or Expression with resultType string). + Dataset interface{} `json:"dataset,omitempty"` +} + +// GoogleBigQueryLinkedService google BigQuery service linked service. +type GoogleBigQueryLinkedService struct { + // GoogleBigQueryLinkedServiceTypeProperties - Google BigQuery service linked service properties. + *GoogleBigQueryLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) MarshalJSON() ([]byte, error) { + gbqls.Type = TypeGoogleBigQuery + objectMap := make(map[string]interface{}) + if gbqls.GoogleBigQueryLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gbqls.GoogleBigQueryLinkedServiceTypeProperties + } + if gbqls.ConnectVia != nil { + objectMap["connectVia"] = gbqls.ConnectVia + } + if gbqls.Description != nil { + objectMap["description"] = gbqls.Description + } + if gbqls.Parameters != nil { + objectMap["parameters"] = gbqls.Parameters + } + if gbqls.Annotations != nil { + objectMap["annotations"] = gbqls.Annotations + } + if gbqls.Type != "" { + objectMap["type"] = gbqls.Type + } + for k, v := range gbqls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return &gbqls, true +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gbqls, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedService struct. +func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var googleBigQueryLinkedServiceTypeProperties GoogleBigQueryLinkedServiceTypeProperties + err = json.Unmarshal(*v, &googleBigQueryLinkedServiceTypeProperties) + if err != nil { + return err + } + gbqls.GoogleBigQueryLinkedServiceTypeProperties = &googleBigQueryLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gbqls.AdditionalProperties == nil { + gbqls.AdditionalProperties = make(map[string]interface{}) + } + gbqls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + gbqls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gbqls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gbqls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gbqls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gbqls.Type = typeVar + } + } + } + + return nil +} + +// GoogleBigQueryLinkedServiceTypeProperties google BigQuery service linked service properties. +type GoogleBigQueryLinkedServiceTypeProperties struct { + // Project - The default BigQuery project to query against. + Project interface{} `json:"project,omitempty"` + // AdditionalProjects - A comma-separated list of public BigQuery projects to access. + AdditionalProjects interface{} `json:"additionalProjects,omitempty"` + // 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. + RequestGoogleDriveScope interface{} `json:"requestGoogleDriveScope,omitempty"` + // AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'GoogleBigQueryAuthenticationTypeServiceAuthentication', 'GoogleBigQueryAuthenticationTypeUserAuthentication' + AuthenticationType GoogleBigQueryAuthenticationType `json:"authenticationType,omitempty"` + // RefreshToken - The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication. + RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` + // ClientID - The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string). + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret of the google application used to acquire the refresh token. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. + Email interface{} `json:"email,omitempty"` + // 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. + KeyFilePath interface{} `json:"keyFilePath,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedServiceTypeProperties struct. +func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "project": + if v != nil { + var project interface{} + err = json.Unmarshal(*v, &project) + if err != nil { + return err + } + gbqlstp.Project = project + } + case "additionalProjects": + if v != nil { + var additionalProjects interface{} + err = json.Unmarshal(*v, &additionalProjects) + if err != nil { + return err + } + gbqlstp.AdditionalProjects = additionalProjects + } + case "requestGoogleDriveScope": + if v != nil { + var requestGoogleDriveScope interface{} + err = json.Unmarshal(*v, &requestGoogleDriveScope) + if err != nil { + return err + } + gbqlstp.RequestGoogleDriveScope = requestGoogleDriveScope + } + case "authenticationType": + if v != nil { + var authenticationType GoogleBigQueryAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + gbqlstp.AuthenticationType = authenticationType + } + case "refreshToken": + if v != nil { + refreshToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gbqlstp.RefreshToken = refreshToken + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + gbqlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gbqlstp.ClientSecret = clientSecret + } + case "email": + if v != nil { + var email interface{} + err = json.Unmarshal(*v, &email) + if err != nil { + return err + } + gbqlstp.Email = email + } + case "keyFilePath": + if v != nil { + var keyFilePath interface{} + err = json.Unmarshal(*v, &keyFilePath) + if err != nil { + return err + } + gbqlstp.KeyFilePath = keyFilePath + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + gbqlstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + gbqlstp.UseSystemTrustStore = useSystemTrustStore + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + gbqlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// GoogleBigQueryObjectDataset google BigQuery service dataset. +type GoogleBigQueryObjectDataset struct { + // GoogleBigQueryDatasetTypeProperties - Properties specific to this dataset type. + *GoogleBigQueryDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) MarshalJSON() ([]byte, error) { + gbqod.Type = TypeGoogleBigQueryObject + objectMap := make(map[string]interface{}) + if gbqod.GoogleBigQueryDatasetTypeProperties != nil { + objectMap["typeProperties"] = gbqod.GoogleBigQueryDatasetTypeProperties + } + if gbqod.Description != nil { + objectMap["description"] = gbqod.Description + } + if gbqod.Structure != nil { + objectMap["structure"] = gbqod.Structure + } + if gbqod.Schema != nil { + objectMap["schema"] = gbqod.Schema + } + if gbqod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gbqod.LinkedServiceName + } + if gbqod.Parameters != nil { + objectMap["parameters"] = gbqod.Parameters + } + if gbqod.Annotations != nil { + objectMap["annotations"] = gbqod.Annotations + } + if gbqod.Folder != nil { + objectMap["folder"] = gbqod.Folder + } + if gbqod.Type != "" { + objectMap["type"] = gbqod.Type + } + for k, v := range gbqod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return &gbqod, true +} + +// AsEloquaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &gbqod, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryObjectDataset struct. +func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var googleBigQueryDatasetTypeProperties GoogleBigQueryDatasetTypeProperties + err = json.Unmarshal(*v, &googleBigQueryDatasetTypeProperties) + if err != nil { + return err + } + gbqod.GoogleBigQueryDatasetTypeProperties = &googleBigQueryDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gbqod.AdditionalProperties == nil { + gbqod.AdditionalProperties = make(map[string]interface{}) + } + gbqod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gbqod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + gbqod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + gbqod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + gbqod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gbqod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gbqod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + gbqod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gbqod.Type = typeVar + } + } + } + + return nil +} + +// GoogleBigQuerySource a copy activity Google BigQuery service source. +type GoogleBigQuerySource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) MarshalJSON() ([]byte, error) { + gbqs.Type = TypeGoogleBigQuerySource + objectMap := make(map[string]interface{}) + if gbqs.Query != nil { + objectMap["query"] = gbqs.Query + } + if gbqs.QueryTimeout != nil { + objectMap["queryTimeout"] = gbqs.QueryTimeout + } + if gbqs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = gbqs.SourceRetryCount + } + if gbqs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = gbqs.SourceRetryWait + } + if gbqs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gbqs.MaxConcurrentConnections + } + if gbqs.Type != "" { + objectMap["type"] = gbqs.Type + } + for k, v := range gbqs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return &gbqs, true +} + +// AsEloquaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &gbqs, true +} + +// AsBinarySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBasicCopySource() (BasicCopySource, bool) { + return &gbqs, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleBigQuerySource struct. +func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + gbqs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + gbqs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gbqs.AdditionalProperties == nil { + gbqs.AdditionalProperties = make(map[string]interface{}) + } + gbqs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + gbqs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + gbqs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + gbqs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gbqs.Type = typeVar + } + } + } + + return nil +} + +// GoogleCloudStorageLinkedService linked service for Google Cloud Storage. +type GoogleCloudStorageLinkedService struct { + // GoogleCloudStorageLinkedServiceTypeProperties - Google Cloud Storage linked service properties. + *GoogleCloudStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) MarshalJSON() ([]byte, error) { + gcsls.Type = TypeGoogleCloudStorage + objectMap := make(map[string]interface{}) + if gcsls.GoogleCloudStorageLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gcsls.GoogleCloudStorageLinkedServiceTypeProperties + } + if gcsls.ConnectVia != nil { + objectMap["connectVia"] = gcsls.ConnectVia + } + if gcsls.Description != nil { + objectMap["description"] = gcsls.Description + } + if gcsls.Parameters != nil { + objectMap["parameters"] = gcsls.Parameters + } + if gcsls.Annotations != nil { + objectMap["annotations"] = gcsls.Annotations + } + if gcsls.Type != "" { + objectMap["type"] = gcsls.Type + } + for k, v := range gcsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return &gcsls, true +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gcsls, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLinkedService struct. +func (gcsls *GoogleCloudStorageLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var googleCloudStorageLinkedServiceTypeProperties GoogleCloudStorageLinkedServiceTypeProperties + err = json.Unmarshal(*v, &googleCloudStorageLinkedServiceTypeProperties) + if err != nil { + return err + } + gcsls.GoogleCloudStorageLinkedServiceTypeProperties = &googleCloudStorageLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gcsls.AdditionalProperties == nil { + gcsls.AdditionalProperties = make(map[string]interface{}) + } + gcsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + gcsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gcsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gcsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gcsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gcsls.Type = typeVar + } + } + } + + return nil +} + +// GoogleCloudStorageLinkedServiceTypeProperties google Cloud Storage linked service properties. +type GoogleCloudStorageLinkedServiceTypeProperties struct { + // AccessKeyID - The access key identifier of the Google Cloud Storage Identity and Access Management (IAM) user. Type: string (or Expression with resultType string). + AccessKeyID interface{} `json:"accessKeyId,omitempty"` + // SecretAccessKey - The secret access key of the Google Cloud Storage Identity and Access Management (IAM) user. + SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"` + // 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). + ServiceURL interface{} `json:"serviceUrl,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLinkedServiceTypeProperties struct. +func (gcslstp *GoogleCloudStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "accessKeyId": + if v != nil { + var accessKeyID interface{} + err = json.Unmarshal(*v, &accessKeyID) + if err != nil { + return err + } + gcslstp.AccessKeyID = accessKeyID + } + case "secretAccessKey": + if v != nil { + secretAccessKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gcslstp.SecretAccessKey = secretAccessKey + } + case "serviceUrl": + if v != nil { + var serviceURL interface{} + err = json.Unmarshal(*v, &serviceURL) + if err != nil { + return err + } + gcslstp.ServiceURL = serviceURL + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + gcslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// GoogleCloudStorageLocation the location of Google Cloud Storage dataset. +type GoogleCloudStorageLocation struct { + // BucketName - Specify the bucketName of Google Cloud Storage. Type: string (or Expression with resultType string) + BucketName interface{} `json:"bucketName,omitempty"` + // Version - Specify the version of Google Cloud Storage. Type: string (or Expression with resultType string). + Version interface{} `json:"version,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) MarshalJSON() ([]byte, error) { + gcsl.Type = TypeGoogleCloudStorageLocation + objectMap := make(map[string]interface{}) + if gcsl.BucketName != nil { + objectMap["bucketName"] = gcsl.BucketName + } + if gcsl.Version != nil { + objectMap["version"] = gcsl.Version + } + if gcsl.FolderPath != nil { + objectMap["folderPath"] = gcsl.FolderPath + } + if gcsl.FileName != nil { + objectMap["fileName"] = gcsl.FileName + } + if gcsl.Type != "" { + objectMap["type"] = gcsl.Type + } + for k, v := range gcsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return &gcsl, true +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &gcsl, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLocation struct. +func (gcsl *GoogleCloudStorageLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "bucketName": + if v != nil { + var bucketName interface{} + err = json.Unmarshal(*v, &bucketName) + if err != nil { + return err + } + gcsl.BucketName = bucketName + } + case "version": + if v != nil { + var version interface{} + err = json.Unmarshal(*v, &version) + if err != nil { + return err + } + gcsl.Version = version + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gcsl.AdditionalProperties == nil { + gcsl.AdditionalProperties = make(map[string]interface{}) + } + gcsl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + gcsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + gcsl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gcsl.Type = typeVar + } + } + } + + return nil +} + +// GoogleCloudStorageReadSettings google Cloud Storage read settings. +type GoogleCloudStorageReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Google Cloud Storage wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Google Cloud Storage wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // Prefix - The prefix filter for the Google Cloud Storage object name. Type: string (or Expression with resultType string). + Prefix interface{} `json:"prefix,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) MarshalJSON() ([]byte, error) { + gcsrs.Type = TypeGoogleCloudStorageReadSettings + objectMap := make(map[string]interface{}) + if gcsrs.Recursive != nil { + objectMap["recursive"] = gcsrs.Recursive + } + if gcsrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = gcsrs.WildcardFolderPath + } + if gcsrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = gcsrs.WildcardFileName + } + if gcsrs.Prefix != nil { + objectMap["prefix"] = gcsrs.Prefix + } + if gcsrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = gcsrs.EnablePartitionDiscovery + } + if gcsrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = gcsrs.ModifiedDatetimeStart + } + if gcsrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = gcsrs.ModifiedDatetimeEnd + } + if gcsrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gcsrs.MaxConcurrentConnections + } + if gcsrs.Type != "" { + objectMap["type"] = gcsrs.Type + } + for k, v := range gcsrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return &gcsrs, true +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &gcsrs, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageReadSettings struct. +func (gcsrs *GoogleCloudStorageReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + gcsrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + gcsrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + gcsrs.WildcardFileName = wildcardFileName + } + case "prefix": + if v != nil { + var prefix interface{} + err = json.Unmarshal(*v, &prefix) + if err != nil { + return err + } + gcsrs.Prefix = prefix + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + gcsrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + gcsrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + gcsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gcsrs.AdditionalProperties == nil { + gcsrs.AdditionalProperties = make(map[string]interface{}) + } + gcsrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + gcsrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gcsrs.Type = typeVar + } + } + } + + return nil +} + +// GreenplumDatasetTypeProperties greenplum Dataset Properties +type GreenplumDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of Greenplum. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of Greenplum. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// GreenplumLinkedService greenplum Database linked service. +type GreenplumLinkedService struct { + // GreenplumLinkedServiceTypeProperties - Greenplum Database linked service properties. + *GreenplumLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GreenplumLinkedService. +func (gls GreenplumLinkedService) MarshalJSON() ([]byte, error) { + gls.Type = TypeGreenplum + objectMap := make(map[string]interface{}) + if gls.GreenplumLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gls.GreenplumLinkedServiceTypeProperties + } + if gls.ConnectVia != nil { + objectMap["connectVia"] = gls.ConnectVia + } + if gls.Description != nil { + objectMap["description"] = gls.Description + } + if gls.Parameters != nil { + objectMap["parameters"] = gls.Parameters + } + if gls.Annotations != nil { + objectMap["annotations"] = gls.Annotations + } + if gls.Type != "" { + objectMap["type"] = gls.Type + } + for k, v := range gls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return &gls, true +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gls, true +} + +// UnmarshalJSON is the custom unmarshaler for GreenplumLinkedService struct. +func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var greenplumLinkedServiceTypeProperties GreenplumLinkedServiceTypeProperties + err = json.Unmarshal(*v, &greenplumLinkedServiceTypeProperties) + if err != nil { + return err + } + gls.GreenplumLinkedServiceTypeProperties = &greenplumLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gls.AdditionalProperties == nil { + gls.AdditionalProperties = make(map[string]interface{}) + } + gls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + gls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gls.Type = typeVar + } + } + } + + return nil +} + +// GreenplumLinkedServiceTypeProperties greenplum Database linked service properties. +type GreenplumLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// GreenplumSource a copy activity Greenplum Database source. +type GreenplumSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GreenplumSource. +func (gs GreenplumSource) MarshalJSON() ([]byte, error) { + gs.Type = TypeGreenplumSource + objectMap := make(map[string]interface{}) + if gs.Query != nil { + objectMap["query"] = gs.Query + } + if gs.QueryTimeout != nil { + objectMap["queryTimeout"] = gs.QueryTimeout + } + if gs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = gs.SourceRetryCount + } + if gs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = gs.SourceRetryWait + } + if gs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gs.MaxConcurrentConnections + } + if gs.Type != "" { + objectMap["type"] = gs.Type + } + for k, v := range gs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsGreenplumSource() (*GreenplumSource, bool) { + return &gs, true +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &gs, true +} + +// AsBinarySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBasicCopySource() (BasicCopySource, bool) { + return &gs, true +} + +// UnmarshalJSON is the custom unmarshaler for GreenplumSource struct. +func (gs *GreenplumSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + gs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + gs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gs.AdditionalProperties == nil { + gs.AdditionalProperties = make(map[string]interface{}) + } + gs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + gs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + gs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + gs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gs.Type = typeVar + } + } + } + + return nil +} + +// GreenplumTableDataset greenplum Database dataset. +type GreenplumTableDataset struct { + // GreenplumDatasetTypeProperties - Properties specific to this dataset type. + *GreenplumDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GreenplumTableDataset. +func (gtd GreenplumTableDataset) MarshalJSON() ([]byte, error) { + gtd.Type = TypeGreenplumTable + objectMap := make(map[string]interface{}) + if gtd.GreenplumDatasetTypeProperties != nil { + objectMap["typeProperties"] = gtd.GreenplumDatasetTypeProperties + } + if gtd.Description != nil { + objectMap["description"] = gtd.Description + } + if gtd.Structure != nil { + objectMap["structure"] = gtd.Structure + } + if gtd.Schema != nil { + objectMap["schema"] = gtd.Schema + } + if gtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gtd.LinkedServiceName + } + if gtd.Parameters != nil { + objectMap["parameters"] = gtd.Parameters + } + if gtd.Annotations != nil { + objectMap["annotations"] = gtd.Annotations + } + if gtd.Folder != nil { + objectMap["folder"] = gtd.Folder + } + if gtd.Type != "" { + objectMap["type"] = gtd.Type + } + for k, v := range gtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return >d, true +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsBasicDataset() (BasicDataset, bool) { + return >d, true +} + +// UnmarshalJSON is the custom unmarshaler for GreenplumTableDataset struct. +func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var greenplumDatasetTypeProperties GreenplumDatasetTypeProperties + err = json.Unmarshal(*v, &greenplumDatasetTypeProperties) + if err != nil { + return err + } + gtd.GreenplumDatasetTypeProperties = &greenplumDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gtd.AdditionalProperties == nil { + gtd.AdditionalProperties = make(map[string]interface{}) + } + gtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + gtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + gtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + gtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + gtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gtd.Type = typeVar + } + } + } + + return nil +} + +// HBaseLinkedService hBase server linked service. +type HBaseLinkedService struct { + // HBaseLinkedServiceTypeProperties - HBase server linked service properties. + *HBaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HBaseLinkedService. +func (hbls HBaseLinkedService) MarshalJSON() ([]byte, error) { + hbls.Type = TypeHBase + objectMap := make(map[string]interface{}) + if hbls.HBaseLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hbls.HBaseLinkedServiceTypeProperties + } + if hbls.ConnectVia != nil { + objectMap["connectVia"] = hbls.ConnectVia + } + if hbls.Description != nil { + objectMap["description"] = hbls.Description + } + if hbls.Parameters != nil { + objectMap["parameters"] = hbls.Parameters + } + if hbls.Annotations != nil { + objectMap["annotations"] = hbls.Annotations + } + if hbls.Type != "" { + objectMap["type"] = hbls.Type + } + for k, v := range hbls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return &hbls, true +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hbls, true +} + +// UnmarshalJSON is the custom unmarshaler for HBaseLinkedService struct. +func (hbls *HBaseLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hBaseLinkedServiceTypeProperties HBaseLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hBaseLinkedServiceTypeProperties) + if err != nil { + return err + } + hbls.HBaseLinkedServiceTypeProperties = &hBaseLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hbls.AdditionalProperties == nil { + hbls.AdditionalProperties = make(map[string]interface{}) + } + hbls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hbls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hbls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hbls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hbls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hbls.Type = typeVar + } + } + } + + return nil +} + +// HBaseLinkedServiceTypeProperties hBase server linked service properties. +type HBaseLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the HBase server. (i.e. 192.168.222.160) + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the HBase instance uses to listen for client connections. The default value is 9090. + Port interface{} `json:"port,omitempty"` + // HTTPPath - The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version) + HTTPPath interface{} `json:"httpPath,omitempty"` + // AuthenticationType - The authentication mechanism to use to connect to the HBase server. Possible values include: 'HBaseAuthenticationTypeAnonymous', 'HBaseAuthenticationTypeBasic' + AuthenticationType HBaseAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name used to connect to the HBase instance. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name. + Password BasicSecretBase `json:"password,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // 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. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HBaseLinkedServiceTypeProperties struct. +func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + hblstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + hblstp.Port = port + } + case "httpPath": + if v != nil { + var HTTPPath interface{} + err = json.Unmarshal(*v, &HTTPPath) + if err != nil { + return err + } + hblstp.HTTPPath = HTTPPath + } + case "authenticationType": + if v != nil { + var authenticationType HBaseAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + hblstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + hblstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hblstp.Password = password + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + hblstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + hblstp.TrustedCertPath = trustedCertPath + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + hblstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + hblstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hblstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// HBaseObjectDataset hBase server dataset. +type HBaseObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HBaseObjectDataset. +func (hbod HBaseObjectDataset) MarshalJSON() ([]byte, error) { + hbod.Type = TypeHBaseObject + objectMap := make(map[string]interface{}) + if hbod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = hbod.GenericDatasetTypeProperties + } + if hbod.Description != nil { + objectMap["description"] = hbod.Description + } + if hbod.Structure != nil { + objectMap["structure"] = hbod.Structure + } + if hbod.Schema != nil { + objectMap["schema"] = hbod.Schema + } + if hbod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hbod.LinkedServiceName + } + if hbod.Parameters != nil { + objectMap["parameters"] = hbod.Parameters + } + if hbod.Annotations != nil { + objectMap["annotations"] = hbod.Annotations + } + if hbod.Folder != nil { + objectMap["folder"] = hbod.Folder + } + if hbod.Type != "" { + objectMap["type"] = hbod.Type + } + for k, v := range hbod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return &hbod, true +} + +// AsGreenplumTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &hbod, true +} + +// UnmarshalJSON is the custom unmarshaler for HBaseObjectDataset struct. +func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + hbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hbod.AdditionalProperties == nil { + hbod.AdditionalProperties = make(map[string]interface{}) + } + hbod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hbod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + hbod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + hbod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hbod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hbod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hbod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + hbod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hbod.Type = typeVar + } + } + } + + return nil +} + +// HBaseSource a copy activity HBase server source. +type HBaseSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HBaseSource. +func (hbs HBaseSource) MarshalJSON() ([]byte, error) { + hbs.Type = TypeHBaseSource + objectMap := make(map[string]interface{}) + if hbs.Query != nil { + objectMap["query"] = hbs.Query + } + if hbs.QueryTimeout != nil { + objectMap["queryTimeout"] = hbs.QueryTimeout + } + if hbs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hbs.SourceRetryCount + } + if hbs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hbs.SourceRetryWait + } + if hbs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hbs.MaxConcurrentConnections + } + if hbs.Type != "" { + objectMap["type"] = hbs.Type + } + for k, v := range hbs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHBaseSource() (*HBaseSource, bool) { + return &hbs, true +} + +// AsGreenplumSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &hbs, true +} + +// AsBinarySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hbs, true +} + +// UnmarshalJSON is the custom unmarshaler for HBaseSource struct. +func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + hbs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + hbs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hbs.AdditionalProperties == nil { + hbs.AdditionalProperties = make(map[string]interface{}) + } + hbs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + hbs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + hbs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hbs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hbs.Type = typeVar + } + } + } + + return nil +} + +// HdfsLinkedService hadoop Distributed File System (HDFS) linked service. +type HdfsLinkedService struct { + // HdfsLinkedServiceTypeProperties - HDFS linked service properties. + *HdfsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HdfsLinkedService. +func (hls HdfsLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHdfs + objectMap := make(map[string]interface{}) + if hls.HdfsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HdfsLinkedServiceTypeProperties + } + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia + } + if hls.Description != nil { + objectMap["description"] = hls.Description + } + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters + } + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations + } + if hls.Type != "" { + objectMap["type"] = hls.Type + } + for k, v := range hls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return &hls, true +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HdfsLinkedService struct. +func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hdfsLinkedServiceTypeProperties HdfsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hdfsLinkedServiceTypeProperties) + if err != nil { + return err + } + hls.HdfsLinkedServiceTypeProperties = &hdfsLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) + } + hls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hls.Type = typeVar + } + } + } + + return nil +} + +// HdfsLinkedServiceTypeProperties HDFS linked service properties. +type HdfsLinkedServiceTypeProperties struct { + // URL - The URL of the HDFS service endpoint, e.g. http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Type of authentication used to connect to the HDFS. Possible values are: Anonymous and Windows. Type: string (or Expression with resultType string). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // UserName - User name for Windows authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Windows authentication. + Password BasicSecretBase `json:"password,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HdfsLinkedServiceTypeProperties struct. +func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + hlstp.URL = URL + } + case "authenticationType": + if v != nil { + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + hlstp.AuthenticationType = authenticationType + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hlstp.EncryptedCredential = encryptedCredential + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + hlstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.Password = password + } + } + } + + return nil +} + +// HdfsLocation the location of HDFS. +type HdfsLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HdfsLocation. +func (hl HdfsLocation) MarshalJSON() ([]byte, error) { + hl.Type = TypeHdfsLocation + objectMap := make(map[string]interface{}) + if hl.FolderPath != nil { + objectMap["folderPath"] = hl.FolderPath + } + if hl.FileName != nil { + objectMap["fileName"] = hl.FileName + } + if hl.Type != "" { + objectMap["type"] = hl.Type + } + for k, v := range hl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return &hl, true +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for HdfsLocation. +func (hl HdfsLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &hl, true +} + +// UnmarshalJSON is the custom unmarshaler for HdfsLocation struct. +func (hl *HdfsLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hl.AdditionalProperties == nil { + hl.AdditionalProperties = make(map[string]interface{}) + } + hl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + hl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + hl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hl.Type = typeVar + } + } + } + + return nil +} + +// HdfsReadSettings HDFS read settings. +type HdfsReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - HDFS wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - HDFS wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // DistcpSettings - Specifies Distcp-related settings. + DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HdfsReadSettings. +func (hrs HdfsReadSettings) MarshalJSON() ([]byte, error) { + hrs.Type = TypeHdfsReadSettings + objectMap := make(map[string]interface{}) + if hrs.Recursive != nil { + objectMap["recursive"] = hrs.Recursive + } + if hrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = hrs.WildcardFolderPath + } + if hrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = hrs.WildcardFileName + } + if hrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = hrs.EnablePartitionDiscovery + } + if hrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = hrs.ModifiedDatetimeStart + } + if hrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = hrs.ModifiedDatetimeEnd + } + if hrs.DistcpSettings != nil { + objectMap["distcpSettings"] = hrs.DistcpSettings + } + if hrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections + } + if hrs.Type != "" { + objectMap["type"] = hrs.Type + } + for k, v := range hrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return &hrs, true +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings. +func (hrs HdfsReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &hrs, true +} + +// UnmarshalJSON is the custom unmarshaler for HdfsReadSettings struct. +func (hrs *HdfsReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + hrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + hrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + hrs.WildcardFileName = wildcardFileName + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + hrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + hrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + hrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + case "distcpSettings": + if v != nil { + var distcpSettings DistcpSettings + err = json.Unmarshal(*v, &distcpSettings) + if err != nil { + return err + } + hrs.DistcpSettings = &distcpSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hrs.AdditionalProperties == nil { + hrs.AdditionalProperties = make(map[string]interface{}) + } + hrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hrs.Type = typeVar + } + } + } + + return nil +} + +// HdfsSource a copy activity HDFS source. +type HdfsSource struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // DistcpSettings - Specifies Distcp-related settings. + DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HdfsSource. +func (hs HdfsSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHdfsSource + objectMap := make(map[string]interface{}) + if hs.Recursive != nil { + objectMap["recursive"] = hs.Recursive + } + if hs.DistcpSettings != nil { + objectMap["distcpSettings"] = hs.DistcpSettings + } + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount + } + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait + } + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections + } + if hs.Type != "" { + objectMap["type"] = hs.Type + } + for k, v := range hs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHdfsSource() (*HdfsSource, bool) { + return &hs, true +} + +// AsFileSystemSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true +} + +// UnmarshalJSON is the custom unmarshaler for HdfsSource struct. +func (hs *HdfsSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + hs.Recursive = recursive + } + case "distcpSettings": + if v != nil { + var distcpSettings DistcpSettings + err = json.Unmarshal(*v, &distcpSettings) + if err != nil { + return err + } + hs.DistcpSettings = &distcpSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) + } + hs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + hs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + hs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hs.Type = typeVar + } + } + } + + return nil +} + +// HDInsightHiveActivity hDInsight Hive activity type. +type HDInsightHiveActivity struct { + // HDInsightHiveActivityTypeProperties - HDInsight Hive activity properties. + *HDInsightHiveActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) MarshalJSON() ([]byte, error) { + hiha.Type = TypeHDInsightHive + objectMap := make(map[string]interface{}) + if hiha.HDInsightHiveActivityTypeProperties != nil { + objectMap["typeProperties"] = hiha.HDInsightHiveActivityTypeProperties + } + if hiha.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hiha.LinkedServiceName + } + if hiha.Policy != nil { + objectMap["policy"] = hiha.Policy + } + if hiha.Name != nil { + objectMap["name"] = hiha.Name + } + if hiha.Description != nil { + objectMap["description"] = hiha.Description + } + if hiha.DependsOn != nil { + objectMap["dependsOn"] = hiha.DependsOn + } + if hiha.UserProperties != nil { + objectMap["userProperties"] = hiha.UserProperties + } + if hiha.Type != "" { + objectMap["type"] = hiha.Type + } + for k, v := range hiha.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return &hiha, true +} + +// AsCopyActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hiha, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsBasicActivity() (BasicActivity, bool) { + return &hiha, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightHiveActivity struct. +func (hiha *HDInsightHiveActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightHiveActivityTypeProperties HDInsightHiveActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightHiveActivityTypeProperties) + if err != nil { + return err + } + hiha.HDInsightHiveActivityTypeProperties = &hDInsightHiveActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hiha.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + hiha.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hiha.AdditionalProperties == nil { + hiha.AdditionalProperties = make(map[string]interface{}) + } + hiha.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hiha.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hiha.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + hiha.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + hiha.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hiha.Type = typeVar + } + } + } + + return nil +} + +// HDInsightHiveActivityTypeProperties hDInsight Hive activity properties. +type HDInsightHiveActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // ScriptPath - Script path. Type: string (or Expression with resultType string). + ScriptPath interface{} `json:"scriptPath,omitempty"` + // ScriptLinkedService - Script linked service reference. + ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` + // Defines - Allows user to specify defines for Hive job request. + Defines map[string]interface{} `json:"defines"` + // Variables - User specified arguments under hivevar namespace. + Variables *[]interface{} `json:"variables,omitempty"` + // QueryTimeout - Query timeout value (in minutes). Effective when the HDInsight cluster is with ESP (Enterprise Security Package) + QueryTimeout *int32 `json:"queryTimeout,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightHiveActivityTypeProperties. +func (hihatp HDInsightHiveActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hihatp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = hihatp.StorageLinkedServices + } + if hihatp.Arguments != nil { + objectMap["arguments"] = hihatp.Arguments + } + if hihatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hihatp.GetDebugInfo + } + if hihatp.ScriptPath != nil { + objectMap["scriptPath"] = hihatp.ScriptPath + } + if hihatp.ScriptLinkedService != nil { + objectMap["scriptLinkedService"] = hihatp.ScriptLinkedService + } + if hihatp.Defines != nil { + objectMap["defines"] = hihatp.Defines + } + if hihatp.Variables != nil { + objectMap["variables"] = hihatp.Variables + } + if hihatp.QueryTimeout != nil { + objectMap["queryTimeout"] = hihatp.QueryTimeout + } + return json.Marshal(objectMap) +} + +// HDInsightLinkedService hDInsight linked service. +type HDInsightLinkedService struct { + // HDInsightLinkedServiceTypeProperties - HDInsight linked service properties. + *HDInsightLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightLinkedService. +func (hils HDInsightLinkedService) MarshalJSON() ([]byte, error) { + hils.Type = TypeHDInsight + objectMap := make(map[string]interface{}) + if hils.HDInsightLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hils.HDInsightLinkedServiceTypeProperties + } + if hils.ConnectVia != nil { + objectMap["connectVia"] = hils.ConnectVia + } + if hils.Description != nil { + objectMap["description"] = hils.Description + } + if hils.Parameters != nil { + objectMap["parameters"] = hils.Parameters + } + if hils.Annotations != nil { + objectMap["annotations"] = hils.Annotations + } + if hils.Type != "" { + objectMap["type"] = hils.Type + } + for k, v := range hils.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return &hils, true +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hils, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedService struct. +func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightLinkedServiceTypeProperties HDInsightLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hDInsightLinkedServiceTypeProperties) + if err != nil { + return err + } + hils.HDInsightLinkedServiceTypeProperties = &hDInsightLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hils.AdditionalProperties == nil { + hils.AdditionalProperties = make(map[string]interface{}) + } + hils.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hils.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hils.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hils.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hils.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hils.Type = typeVar + } + } + } + + return nil +} + +// HDInsightLinkedServiceTypeProperties hDInsight linked service properties. +type HDInsightLinkedServiceTypeProperties struct { + // ClusterURI - HDInsight cluster URI. Type: string (or Expression with resultType string). + ClusterURI interface{} `json:"clusterUri,omitempty"` + // UserName - HDInsight cluster user name. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - HDInsight cluster password. + Password BasicSecretBase `json:"password,omitempty"` + // LinkedServiceName - The Azure Storage linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // HcatalogLinkedServiceName - A reference to the Azure SQL linked service that points to the HCatalog database. + HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // IsEspEnabled - Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean. + IsEspEnabled interface{} `json:"isEspEnabled,omitempty"` + // FileSystem - Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string). + FileSystem interface{} `json:"fileSystem,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedServiceTypeProperties struct. +func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "clusterUri": + if v != nil { + var clusterURI interface{} + err = json.Unmarshal(*v, &clusterURI) + if err != nil { + return err + } + hilstp.ClusterURI = clusterURI + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + hilstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hilstp.Password = password + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hilstp.LinkedServiceName = &linkedServiceName + } + case "hcatalogLinkedServiceName": + if v != nil { + var hcatalogLinkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &hcatalogLinkedServiceName) + if err != nil { + return err + } + hilstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hilstp.EncryptedCredential = encryptedCredential + } + case "isEspEnabled": + if v != nil { + var isEspEnabled interface{} + err = json.Unmarshal(*v, &isEspEnabled) + if err != nil { + return err + } + hilstp.IsEspEnabled = isEspEnabled + } + case "fileSystem": + if v != nil { + var fileSystem interface{} + err = json.Unmarshal(*v, &fileSystem) + if err != nil { + return err + } + hilstp.FileSystem = fileSystem + } + } + } + + return nil +} + +// HDInsightMapReduceActivity hDInsight MapReduce activity type. +type HDInsightMapReduceActivity struct { + // HDInsightMapReduceActivityTypeProperties - HDInsight MapReduce activity properties. + *HDInsightMapReduceActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) MarshalJSON() ([]byte, error) { + himra.Type = TypeHDInsightMapReduce + objectMap := make(map[string]interface{}) + if himra.HDInsightMapReduceActivityTypeProperties != nil { + objectMap["typeProperties"] = himra.HDInsightMapReduceActivityTypeProperties + } + if himra.LinkedServiceName != nil { + objectMap["linkedServiceName"] = himra.LinkedServiceName + } + if himra.Policy != nil { + objectMap["policy"] = himra.Policy + } + if himra.Name != nil { + objectMap["name"] = himra.Name + } + if himra.Description != nil { + objectMap["description"] = himra.Description + } + if himra.DependsOn != nil { + objectMap["dependsOn"] = himra.DependsOn + } + if himra.UserProperties != nil { + objectMap["userProperties"] = himra.UserProperties + } + if himra.Type != "" { + objectMap["type"] = himra.Type + } + for k, v := range himra.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return &himra, true +} + +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &himra, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsBasicActivity() (BasicActivity, bool) { + return &himra, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightMapReduceActivity struct. +func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightMapReduceActivityTypeProperties HDInsightMapReduceActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightMapReduceActivityTypeProperties) + if err != nil { + return err + } + himra.HDInsightMapReduceActivityTypeProperties = &hDInsightMapReduceActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + himra.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + himra.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if himra.AdditionalProperties == nil { + himra.AdditionalProperties = make(map[string]interface{}) + } + himra.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + himra.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + himra.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + himra.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + himra.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + himra.Type = typeVar + } + } + } + + return nil +} + +// HDInsightMapReduceActivityTypeProperties hDInsight MapReduce activity properties. +type HDInsightMapReduceActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // ClassName - Class name. Type: string (or Expression with resultType string). + ClassName interface{} `json:"className,omitempty"` + // JarFilePath - Jar path. Type: string (or Expression with resultType string). + JarFilePath interface{} `json:"jarFilePath,omitempty"` + // JarLinkedService - Jar linked service reference. + JarLinkedService *LinkedServiceReference `json:"jarLinkedService,omitempty"` + // JarLibs - Jar libs. + JarLibs *[]interface{} `json:"jarLibs,omitempty"` + // Defines - Allows user to specify defines for the MapReduce job request. + Defines map[string]interface{} `json:"defines"` +} + +// MarshalJSON is the custom marshaler for HDInsightMapReduceActivityTypeProperties. +func (himratp HDInsightMapReduceActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if himratp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = himratp.StorageLinkedServices + } + if himratp.Arguments != nil { + objectMap["arguments"] = himratp.Arguments + } + if himratp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = himratp.GetDebugInfo + } + if himratp.ClassName != nil { + objectMap["className"] = himratp.ClassName + } + if himratp.JarFilePath != nil { + objectMap["jarFilePath"] = himratp.JarFilePath + } + if himratp.JarLinkedService != nil { + objectMap["jarLinkedService"] = himratp.JarLinkedService + } + if himratp.JarLibs != nil { + objectMap["jarLibs"] = himratp.JarLibs + } + if himratp.Defines != nil { + objectMap["defines"] = himratp.Defines + } + return json.Marshal(objectMap) +} + +// HDInsightOnDemandLinkedService hDInsight ondemand linked service. +type HDInsightOnDemandLinkedService struct { + // HDInsightOnDemandLinkedServiceTypeProperties - HDInsight ondemand linked service properties. + *HDInsightOnDemandLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) MarshalJSON() ([]byte, error) { + hiodls.Type = TypeHDInsightOnDemand + objectMap := make(map[string]interface{}) + if hiodls.HDInsightOnDemandLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hiodls.HDInsightOnDemandLinkedServiceTypeProperties + } + if hiodls.ConnectVia != nil { + objectMap["connectVia"] = hiodls.ConnectVia + } + if hiodls.Description != nil { + objectMap["description"] = hiodls.Description + } + if hiodls.Parameters != nil { + objectMap["parameters"] = hiodls.Parameters + } + if hiodls.Annotations != nil { + objectMap["annotations"] = hiodls.Annotations + } + if hiodls.Type != "" { + objectMap["type"] = hiodls.Type + } + for k, v := range hiodls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return &hiodls, true +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hiodls, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedService struct. +func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightOnDemandLinkedServiceTypeProperties HDInsightOnDemandLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hDInsightOnDemandLinkedServiceTypeProperties) + if err != nil { + return err + } + hiodls.HDInsightOnDemandLinkedServiceTypeProperties = &hDInsightOnDemandLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hiodls.AdditionalProperties == nil { + hiodls.AdditionalProperties = make(map[string]interface{}) + } + hiodls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hiodls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hiodls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hiodls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hiodls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hiodls.Type = typeVar + } + } + } + + return nil +} + +// HDInsightOnDemandLinkedServiceTypeProperties hDInsight ondemand linked service properties. +type HDInsightOnDemandLinkedServiceTypeProperties struct { + // ClusterSize - Number of worker/data nodes in the cluster. Suggestion value: 4. Type: string (or Expression with resultType string). + ClusterSize interface{} `json:"clusterSize,omitempty"` + // 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). + TimeToLive interface{} `json:"timeToLive,omitempty"` + // Version - Version of the HDInsight cluster.  Type: string (or Expression with resultType string). + Version interface{} `json:"version,omitempty"` + // LinkedServiceName - Azure Storage linked service to be used by the on-demand cluster for storing and processing data. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // HostSubscriptionID - The customer’s subscription to host the cluster. Type: string (or Expression with resultType string). + HostSubscriptionID interface{} `json:"hostSubscriptionId,omitempty"` + // ServicePrincipalID - The service principal id for the hostSubscriptionId. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key for the service principal id. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The Tenant id/name to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // ClusterResourceGroup - The resource group where the cluster belongs. Type: string (or Expression with resultType string). + ClusterResourceGroup interface{} `json:"clusterResourceGroup,omitempty"` + // ClusterNamePrefix - The prefix of cluster name, postfix will be distinct with timestamp. Type: string (or Expression with resultType string). + ClusterNamePrefix interface{} `json:"clusterNamePrefix,omitempty"` + // ClusterUserName - The username to access the cluster. Type: string (or Expression with resultType string). + ClusterUserName interface{} `json:"clusterUserName,omitempty"` + // ClusterPassword - The password to access the cluster. + ClusterPassword BasicSecretBase `json:"clusterPassword,omitempty"` + // ClusterSSHUserName - The username to SSH remotely connect to cluster’s node (for Linux). Type: string (or Expression with resultType string). + ClusterSSHUserName interface{} `json:"clusterSshUserName,omitempty"` + // ClusterSSHPassword - The password to SSH remotely connect cluster’s node (for Linux). + ClusterSSHPassword BasicSecretBase `json:"clusterSshPassword,omitempty"` + // AdditionalLinkedServiceNames - Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf. + AdditionalLinkedServiceNames *[]LinkedServiceReference `json:"additionalLinkedServiceNames,omitempty"` + // 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. + HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"` + // ClusterType - The cluster type. Type: string (or Expression with resultType string). + ClusterType interface{} `json:"clusterType,omitempty"` + // SparkVersion - The version of spark if the cluster type is 'spark'. Type: string (or Expression with resultType string). + SparkVersion interface{} `json:"sparkVersion,omitempty"` + // CoreConfiguration - Specifies the core configuration parameters (as in core-site.xml) for the HDInsight cluster to be created. + CoreConfiguration interface{} `json:"coreConfiguration,omitempty"` + // HBaseConfiguration - Specifies the HBase configuration parameters (hbase-site.xml) for the HDInsight cluster. + HBaseConfiguration interface{} `json:"hBaseConfiguration,omitempty"` + // HdfsConfiguration - Specifies the HDFS configuration parameters (hdfs-site.xml) for the HDInsight cluster. + HdfsConfiguration interface{} `json:"hdfsConfiguration,omitempty"` + // HiveConfiguration - Specifies the hive configuration parameters (hive-site.xml) for the HDInsight cluster. + HiveConfiguration interface{} `json:"hiveConfiguration,omitempty"` + // MapReduceConfiguration - Specifies the MapReduce configuration parameters (mapred-site.xml) for the HDInsight cluster. + MapReduceConfiguration interface{} `json:"mapReduceConfiguration,omitempty"` + // OozieConfiguration - Specifies the Oozie configuration parameters (oozie-site.xml) for the HDInsight cluster. + OozieConfiguration interface{} `json:"oozieConfiguration,omitempty"` + // StormConfiguration - Specifies the Storm configuration parameters (storm-site.xml) for the HDInsight cluster. + StormConfiguration interface{} `json:"stormConfiguration,omitempty"` + // YarnConfiguration - Specifies the Yarn configuration parameters (yarn-site.xml) for the HDInsight cluster. + YarnConfiguration interface{} `json:"yarnConfiguration,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // HeadNodeSize - Specifies the size of the head node for the HDInsight cluster. + HeadNodeSize interface{} `json:"headNodeSize,omitempty"` + // DataNodeSize - Specifies the size of the data node for the HDInsight cluster. + DataNodeSize interface{} `json:"dataNodeSize,omitempty"` + // ZookeeperNodeSize - Specifies the size of the Zoo Keeper node for the HDInsight cluster. + ZookeeperNodeSize interface{} `json:"zookeeperNodeSize,omitempty"` + // 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. + ScriptActions *[]ScriptAction `json:"scriptActions,omitempty"` + // VirtualNetworkID - The ARM resource ID for the vNet to which the cluster should be joined after creation. Type: string (or Expression with resultType string). + VirtualNetworkID interface{} `json:"virtualNetworkId,omitempty"` + // 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). + SubnetName interface{} `json:"subnetName,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedServiceTypeProperties struct. +func (hiodlstp *HDInsightOnDemandLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "clusterSize": + if v != nil { + var clusterSize interface{} + err = json.Unmarshal(*v, &clusterSize) + if err != nil { + return err + } + hiodlstp.ClusterSize = clusterSize + } + case "timeToLive": + if v != nil { + var timeToLive interface{} + err = json.Unmarshal(*v, &timeToLive) + if err != nil { + return err + } + hiodlstp.TimeToLive = timeToLive + } + case "version": + if v != nil { + var version interface{} + err = json.Unmarshal(*v, &version) + if err != nil { + return err + } + hiodlstp.Version = version + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hiodlstp.LinkedServiceName = &linkedServiceName + } + case "hostSubscriptionId": + if v != nil { + var hostSubscriptionID interface{} + err = json.Unmarshal(*v, &hostSubscriptionID) + if err != nil { + return err + } + hiodlstp.HostSubscriptionID = hostSubscriptionID + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + hiodlstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hiodlstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + hiodlstp.Tenant = tenant + } + case "clusterResourceGroup": + if v != nil { + var clusterResourceGroup interface{} + err = json.Unmarshal(*v, &clusterResourceGroup) + if err != nil { + return err + } + hiodlstp.ClusterResourceGroup = clusterResourceGroup + } + case "clusterNamePrefix": + if v != nil { + var clusterNamePrefix interface{} + err = json.Unmarshal(*v, &clusterNamePrefix) + if err != nil { + return err + } + hiodlstp.ClusterNamePrefix = clusterNamePrefix + } + case "clusterUserName": + if v != nil { + var clusterUserName interface{} + err = json.Unmarshal(*v, &clusterUserName) + if err != nil { + return err + } + hiodlstp.ClusterUserName = clusterUserName + } + case "clusterPassword": + if v != nil { + clusterPassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hiodlstp.ClusterPassword = clusterPassword + } + case "clusterSshUserName": + if v != nil { + var clusterSSHUserName interface{} + err = json.Unmarshal(*v, &clusterSSHUserName) + if err != nil { + return err + } + hiodlstp.ClusterSSHUserName = clusterSSHUserName + } + case "clusterSshPassword": + if v != nil { + clusterSSHPassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hiodlstp.ClusterSSHPassword = clusterSSHPassword + } + case "additionalLinkedServiceNames": + if v != nil { + var additionalLinkedServiceNames []LinkedServiceReference + err = json.Unmarshal(*v, &additionalLinkedServiceNames) + if err != nil { + return err + } + hiodlstp.AdditionalLinkedServiceNames = &additionalLinkedServiceNames + } + case "hcatalogLinkedServiceName": + if v != nil { + var hcatalogLinkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &hcatalogLinkedServiceName) + if err != nil { + return err + } + hiodlstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName + } + case "clusterType": + if v != nil { + var clusterType interface{} + err = json.Unmarshal(*v, &clusterType) + if err != nil { + return err + } + hiodlstp.ClusterType = clusterType + } + case "sparkVersion": + if v != nil { + var sparkVersion interface{} + err = json.Unmarshal(*v, &sparkVersion) + if err != nil { + return err + } + hiodlstp.SparkVersion = sparkVersion + } + case "coreConfiguration": + if v != nil { + var coreConfiguration interface{} + err = json.Unmarshal(*v, &coreConfiguration) + if err != nil { + return err + } + hiodlstp.CoreConfiguration = coreConfiguration + } + case "hBaseConfiguration": + if v != nil { + var hBaseConfiguration interface{} + err = json.Unmarshal(*v, &hBaseConfiguration) + if err != nil { + return err + } + hiodlstp.HBaseConfiguration = hBaseConfiguration + } + case "hdfsConfiguration": + if v != nil { + var hdfsConfiguration interface{} + err = json.Unmarshal(*v, &hdfsConfiguration) + if err != nil { + return err + } + hiodlstp.HdfsConfiguration = hdfsConfiguration + } + case "hiveConfiguration": + if v != nil { + var hiveConfiguration interface{} + err = json.Unmarshal(*v, &hiveConfiguration) + if err != nil { + return err + } + hiodlstp.HiveConfiguration = hiveConfiguration + } + case "mapReduceConfiguration": + if v != nil { + var mapReduceConfiguration interface{} + err = json.Unmarshal(*v, &mapReduceConfiguration) + if err != nil { + return err + } + hiodlstp.MapReduceConfiguration = mapReduceConfiguration + } + case "oozieConfiguration": + if v != nil { + var oozieConfiguration interface{} + err = json.Unmarshal(*v, &oozieConfiguration) + if err != nil { + return err + } + hiodlstp.OozieConfiguration = oozieConfiguration + } + case "stormConfiguration": + if v != nil { + var stormConfiguration interface{} + err = json.Unmarshal(*v, &stormConfiguration) + if err != nil { + return err + } + hiodlstp.StormConfiguration = stormConfiguration + } + case "yarnConfiguration": + if v != nil { + var yarnConfiguration interface{} + err = json.Unmarshal(*v, &yarnConfiguration) + if err != nil { + return err + } + hiodlstp.YarnConfiguration = yarnConfiguration + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hiodlstp.EncryptedCredential = encryptedCredential + } + case "headNodeSize": + if v != nil { + var headNodeSize interface{} + err = json.Unmarshal(*v, &headNodeSize) + if err != nil { + return err + } + hiodlstp.HeadNodeSize = headNodeSize + } + case "dataNodeSize": + if v != nil { + var dataNodeSize interface{} + err = json.Unmarshal(*v, &dataNodeSize) + if err != nil { + return err + } + hiodlstp.DataNodeSize = dataNodeSize + } + case "zookeeperNodeSize": + if v != nil { + var zookeeperNodeSize interface{} + err = json.Unmarshal(*v, &zookeeperNodeSize) + if err != nil { + return err + } + hiodlstp.ZookeeperNodeSize = zookeeperNodeSize + } + case "scriptActions": + if v != nil { + var scriptActions []ScriptAction + err = json.Unmarshal(*v, &scriptActions) + if err != nil { + return err + } + hiodlstp.ScriptActions = &scriptActions + } + case "virtualNetworkId": + if v != nil { + var virtualNetworkID interface{} + err = json.Unmarshal(*v, &virtualNetworkID) + if err != nil { + return err + } + hiodlstp.VirtualNetworkID = virtualNetworkID + } + case "subnetName": + if v != nil { + var subnetName interface{} + err = json.Unmarshal(*v, &subnetName) + if err != nil { + return err + } + hiodlstp.SubnetName = subnetName + } + } + } + + return nil +} + +// HDInsightPigActivity hDInsight Pig activity type. +type HDInsightPigActivity struct { + // HDInsightPigActivityTypeProperties - HDInsight Pig activity properties. + *HDInsightPigActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightPigActivity. +func (hipa HDInsightPigActivity) MarshalJSON() ([]byte, error) { + hipa.Type = TypeHDInsightPig + objectMap := make(map[string]interface{}) + if hipa.HDInsightPigActivityTypeProperties != nil { + objectMap["typeProperties"] = hipa.HDInsightPigActivityTypeProperties + } + if hipa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hipa.LinkedServiceName + } + if hipa.Policy != nil { + objectMap["policy"] = hipa.Policy + } + if hipa.Name != nil { + objectMap["name"] = hipa.Name + } + if hipa.Description != nil { + objectMap["description"] = hipa.Description + } + if hipa.DependsOn != nil { + objectMap["dependsOn"] = hipa.DependsOn + } + if hipa.UserProperties != nil { + objectMap["userProperties"] = hipa.UserProperties + } + if hipa.Type != "" { + objectMap["type"] = hipa.Type + } + for k, v := range hipa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return &hipa, true +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hipa, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsBasicActivity() (BasicActivity, bool) { + return &hipa, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightPigActivity struct. +func (hipa *HDInsightPigActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightPigActivityTypeProperties HDInsightPigActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightPigActivityTypeProperties) + if err != nil { + return err + } + hipa.HDInsightPigActivityTypeProperties = &hDInsightPigActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hipa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + hipa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hipa.AdditionalProperties == nil { + hipa.AdditionalProperties = make(map[string]interface{}) + } + hipa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hipa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hipa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + hipa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + hipa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hipa.Type = typeVar + } + } + } + + return nil +} + +// HDInsightPigActivityTypeProperties hDInsight Pig activity properties. +type HDInsightPigActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. Type: array (or Expression with resultType array). + Arguments interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // ScriptPath - Script path. Type: string (or Expression with resultType string). + ScriptPath interface{} `json:"scriptPath,omitempty"` + // ScriptLinkedService - Script linked service reference. + ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` + // Defines - Allows user to specify defines for Pig job request. + Defines map[string]interface{} `json:"defines"` +} + +// MarshalJSON is the custom marshaler for HDInsightPigActivityTypeProperties. +func (hipatp HDInsightPigActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hipatp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = hipatp.StorageLinkedServices + } + if hipatp.Arguments != nil { + objectMap["arguments"] = hipatp.Arguments + } + if hipatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hipatp.GetDebugInfo + } + if hipatp.ScriptPath != nil { + objectMap["scriptPath"] = hipatp.ScriptPath + } + if hipatp.ScriptLinkedService != nil { + objectMap["scriptLinkedService"] = hipatp.ScriptLinkedService + } + if hipatp.Defines != nil { + objectMap["defines"] = hipatp.Defines + } + return json.Marshal(objectMap) +} + +// HDInsightSparkActivity hDInsight Spark activity. +type HDInsightSparkActivity struct { + // HDInsightSparkActivityTypeProperties - HDInsight spark activity properties. + *HDInsightSparkActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) MarshalJSON() ([]byte, error) { + hisa.Type = TypeHDInsightSpark + objectMap := make(map[string]interface{}) + if hisa.HDInsightSparkActivityTypeProperties != nil { + objectMap["typeProperties"] = hisa.HDInsightSparkActivityTypeProperties + } + if hisa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hisa.LinkedServiceName + } + if hisa.Policy != nil { + objectMap["policy"] = hisa.Policy + } + if hisa.Name != nil { + objectMap["name"] = hisa.Name + } + if hisa.Description != nil { + objectMap["description"] = hisa.Description + } + if hisa.DependsOn != nil { + objectMap["dependsOn"] = hisa.DependsOn + } + if hisa.UserProperties != nil { + objectMap["userProperties"] = hisa.UserProperties + } + if hisa.Type != "" { + objectMap["type"] = hisa.Type + } + for k, v := range hisa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return &hisa, true +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hisa, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsBasicActivity() (BasicActivity, bool) { + return &hisa, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightSparkActivity struct. +func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightSparkActivityTypeProperties HDInsightSparkActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightSparkActivityTypeProperties) + if err != nil { + return err + } + hisa.HDInsightSparkActivityTypeProperties = &hDInsightSparkActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hisa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + hisa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hisa.AdditionalProperties == nil { + hisa.AdditionalProperties = make(map[string]interface{}) + } + hisa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hisa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hisa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + hisa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + hisa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hisa.Type = typeVar + } + } + } + + return nil +} + +// HDInsightSparkActivityTypeProperties hDInsight spark activity properties. +type HDInsightSparkActivityTypeProperties struct { + // RootPath - The root path in 'sparkJobLinkedService' for all the job’s files. Type: string (or Expression with resultType string). + RootPath interface{} `json:"rootPath,omitempty"` + // EntryFilePath - The relative path to the root folder of the code/package to be executed. Type: string (or Expression with resultType string). + EntryFilePath interface{} `json:"entryFilePath,omitempty"` + // Arguments - The user-specified arguments to HDInsightSparkActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // SparkJobLinkedService - The storage linked service for uploading the entry file and dependencies, and for receiving logs. + SparkJobLinkedService *LinkedServiceReference `json:"sparkJobLinkedService,omitempty"` + // ClassName - The application's Java/Spark main class. + ClassName *string `json:"className,omitempty"` + // ProxyUser - The user to impersonate that will execute the job. Type: string (or Expression with resultType string). + ProxyUser interface{} `json:"proxyUser,omitempty"` + // SparkConfig - Spark configuration property. + SparkConfig map[string]interface{} `json:"sparkConfig"` +} + +// MarshalJSON is the custom marshaler for HDInsightSparkActivityTypeProperties. +func (hisatp HDInsightSparkActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hisatp.RootPath != nil { + objectMap["rootPath"] = hisatp.RootPath + } + if hisatp.EntryFilePath != nil { + objectMap["entryFilePath"] = hisatp.EntryFilePath + } + if hisatp.Arguments != nil { + objectMap["arguments"] = hisatp.Arguments + } + if hisatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hisatp.GetDebugInfo + } + if hisatp.SparkJobLinkedService != nil { + objectMap["sparkJobLinkedService"] = hisatp.SparkJobLinkedService + } + if hisatp.ClassName != nil { + objectMap["className"] = hisatp.ClassName + } + if hisatp.ProxyUser != nil { + objectMap["proxyUser"] = hisatp.ProxyUser + } + if hisatp.SparkConfig != nil { + objectMap["sparkConfig"] = hisatp.SparkConfig + } + return json.Marshal(objectMap) +} + +// HDInsightStreamingActivity hDInsight streaming activity type. +type HDInsightStreamingActivity struct { + // HDInsightStreamingActivityTypeProperties - HDInsight streaming activity properties. + *HDInsightStreamingActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) MarshalJSON() ([]byte, error) { + hisa.Type = TypeHDInsightStreaming + objectMap := make(map[string]interface{}) + if hisa.HDInsightStreamingActivityTypeProperties != nil { + objectMap["typeProperties"] = hisa.HDInsightStreamingActivityTypeProperties + } + if hisa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hisa.LinkedServiceName + } + if hisa.Policy != nil { + objectMap["policy"] = hisa.Policy + } + if hisa.Name != nil { + objectMap["name"] = hisa.Name + } + if hisa.Description != nil { + objectMap["description"] = hisa.Description + } + if hisa.DependsOn != nil { + objectMap["dependsOn"] = hisa.DependsOn + } + if hisa.UserProperties != nil { + objectMap["userProperties"] = hisa.UserProperties + } + if hisa.Type != "" { + objectMap["type"] = hisa.Type + } + for k, v := range hisa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return &hisa, true +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hisa, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsBasicActivity() (BasicActivity, bool) { + return &hisa, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightStreamingActivity struct. +func (hisa *HDInsightStreamingActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightStreamingActivityTypeProperties HDInsightStreamingActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightStreamingActivityTypeProperties) + if err != nil { + return err + } + hisa.HDInsightStreamingActivityTypeProperties = &hDInsightStreamingActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hisa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + hisa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hisa.AdditionalProperties == nil { + hisa.AdditionalProperties = make(map[string]interface{}) + } + hisa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hisa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hisa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + hisa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + hisa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hisa.Type = typeVar + } + } + } + + return nil +} + +// HDInsightStreamingActivityTypeProperties hDInsight streaming activity properties. +type HDInsightStreamingActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // Mapper - Mapper executable name. Type: string (or Expression with resultType string). + Mapper interface{} `json:"mapper,omitempty"` + // Reducer - Reducer executable name. Type: string (or Expression with resultType string). + Reducer interface{} `json:"reducer,omitempty"` + // Input - Input blob path. Type: string (or Expression with resultType string). + Input interface{} `json:"input,omitempty"` + // Output - Output blob path. Type: string (or Expression with resultType string). + Output interface{} `json:"output,omitempty"` + // FilePaths - Paths to streaming job files. Can be directories. + FilePaths *[]interface{} `json:"filePaths,omitempty"` + // FileLinkedService - Linked service reference where the files are located. + FileLinkedService *LinkedServiceReference `json:"fileLinkedService,omitempty"` + // Combiner - Combiner executable name. Type: string (or Expression with resultType string). + Combiner interface{} `json:"combiner,omitempty"` + // CommandEnvironment - Command line environment values. + CommandEnvironment *[]interface{} `json:"commandEnvironment,omitempty"` + // Defines - Allows user to specify defines for streaming job request. + Defines map[string]interface{} `json:"defines"` +} + +// MarshalJSON is the custom marshaler for HDInsightStreamingActivityTypeProperties. +func (hisatp HDInsightStreamingActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hisatp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = hisatp.StorageLinkedServices + } + if hisatp.Arguments != nil { + objectMap["arguments"] = hisatp.Arguments + } + if hisatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hisatp.GetDebugInfo + } + if hisatp.Mapper != nil { + objectMap["mapper"] = hisatp.Mapper + } + if hisatp.Reducer != nil { + objectMap["reducer"] = hisatp.Reducer + } + if hisatp.Input != nil { + objectMap["input"] = hisatp.Input + } + if hisatp.Output != nil { + objectMap["output"] = hisatp.Output + } + if hisatp.FilePaths != nil { + objectMap["filePaths"] = hisatp.FilePaths + } + if hisatp.FileLinkedService != nil { + objectMap["fileLinkedService"] = hisatp.FileLinkedService + } + if hisatp.Combiner != nil { + objectMap["combiner"] = hisatp.Combiner + } + if hisatp.CommandEnvironment != nil { + objectMap["commandEnvironment"] = hisatp.CommandEnvironment + } + if hisatp.Defines != nil { + objectMap["defines"] = hisatp.Defines + } + return json.Marshal(objectMap) +} + +// HiveDatasetTypeProperties hive Properties +type HiveDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Hive. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Hive. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// HiveLinkedService hive Server linked service. +type HiveLinkedService struct { + // HiveLinkedServiceTypeProperties - Hive Server linked service properties. + *HiveLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HiveLinkedService. +func (hls HiveLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHive + objectMap := make(map[string]interface{}) + if hls.HiveLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HiveLinkedServiceTypeProperties + } + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia + } + if hls.Description != nil { + objectMap["description"] = hls.Description + } + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters + } + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations + } + if hls.Type != "" { + objectMap["type"] = hls.Type + } + for k, v := range hls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return &hls, true +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HiveLinkedService struct. +func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hiveLinkedServiceTypeProperties HiveLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hiveLinkedServiceTypeProperties) + if err != nil { + return err + } + hls.HiveLinkedServiceTypeProperties = &hiveLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) + } + hls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hls.Type = typeVar + } + } + } + + return nil +} + +// HiveLinkedServiceTypeProperties hive Server linked service properties. +type HiveLinkedServiceTypeProperties struct { + // Host - IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable). + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the Hive server uses to listen for client connections. + Port interface{} `json:"port,omitempty"` + // ServerType - The type of Hive server. Possible values include: 'HiveServer1', 'HiveServer2', 'HiveThriftServer' + ServerType HiveServerType `json:"serverType,omitempty"` + // ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'Binary', 'SASL', 'HTTP' + ThriftTransportProtocol HiveThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"` + // AuthenticationType - The authentication method used to access the Hive server. Possible values include: 'Anonymous', 'Username', 'UsernameAndPassword', 'WindowsAzureHDInsightService' + AuthenticationType HiveAuthenticationType `json:"authenticationType,omitempty"` + // ServiceDiscoveryMode - true to indicate using the ZooKeeper service, false not. + ServiceDiscoveryMode interface{} `json:"serviceDiscoveryMode,omitempty"` + // ZooKeeperNameSpace - The namespace on ZooKeeper under which Hive Server 2 nodes are added. + ZooKeeperNameSpace interface{} `json:"zooKeeperNameSpace,omitempty"` + // UseNativeQuery - Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL. + UseNativeQuery interface{} `json:"useNativeQuery,omitempty"` + // Username - The user name that you use to access Hive Server. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the Username field + Password BasicSecretBase `json:"password,omitempty"` + // HTTPPath - The partial URL corresponding to the Hive server. + HTTPPath interface{} `json:"httpPath,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // 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. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HiveLinkedServiceTypeProperties struct. +func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + hlstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + hlstp.Port = port + } + case "serverType": + if v != nil { + var serverType HiveServerType + err = json.Unmarshal(*v, &serverType) + if err != nil { + return err + } + hlstp.ServerType = serverType + } + case "thriftTransportProtocol": + if v != nil { + var thriftTransportProtocol HiveThriftTransportProtocol + err = json.Unmarshal(*v, &thriftTransportProtocol) + if err != nil { + return err + } + hlstp.ThriftTransportProtocol = thriftTransportProtocol + } + case "authenticationType": + if v != nil { + var authenticationType HiveAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + hlstp.AuthenticationType = authenticationType + } + case "serviceDiscoveryMode": + if v != nil { + var serviceDiscoveryMode interface{} + err = json.Unmarshal(*v, &serviceDiscoveryMode) + if err != nil { + return err + } + hlstp.ServiceDiscoveryMode = serviceDiscoveryMode + } + case "zooKeeperNameSpace": + if v != nil { + var zooKeeperNameSpace interface{} + err = json.Unmarshal(*v, &zooKeeperNameSpace) + if err != nil { + return err + } + hlstp.ZooKeeperNameSpace = zooKeeperNameSpace + } + case "useNativeQuery": + if v != nil { + var useNativeQuery interface{} + err = json.Unmarshal(*v, &useNativeQuery) + if err != nil { + return err + } + hlstp.UseNativeQuery = useNativeQuery + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + hlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.Password = password + } + case "httpPath": + if v != nil { + var HTTPPath interface{} + err = json.Unmarshal(*v, &HTTPPath) + if err != nil { + return err + } + hlstp.HTTPPath = HTTPPath + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + hlstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + hlstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + hlstp.UseSystemTrustStore = useSystemTrustStore + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + hlstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + hlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// HiveObjectDataset hive Server dataset. +type HiveObjectDataset struct { + // HiveDatasetTypeProperties - Properties specific to this dataset type. + *HiveDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HiveObjectDataset. +func (hod HiveObjectDataset) MarshalJSON() ([]byte, error) { + hod.Type = TypeHiveObject + objectMap := make(map[string]interface{}) + if hod.HiveDatasetTypeProperties != nil { + objectMap["typeProperties"] = hod.HiveDatasetTypeProperties + } + if hod.Description != nil { + objectMap["description"] = hod.Description + } + if hod.Structure != nil { + objectMap["structure"] = hod.Structure + } + if hod.Schema != nil { + objectMap["schema"] = hod.Schema + } + if hod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hod.LinkedServiceName + } + if hod.Parameters != nil { + objectMap["parameters"] = hod.Parameters + } + if hod.Annotations != nil { + objectMap["annotations"] = hod.Annotations + } + if hod.Folder != nil { + objectMap["folder"] = hod.Folder + } + if hod.Type != "" { + objectMap["type"] = hod.Type + } + for k, v := range hod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return &hod, true +} + +// AsHBaseObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &hod, true +} + +// UnmarshalJSON is the custom unmarshaler for HiveObjectDataset struct. +func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hiveDatasetTypeProperties HiveDatasetTypeProperties + err = json.Unmarshal(*v, &hiveDatasetTypeProperties) + if err != nil { + return err + } + hod.HiveDatasetTypeProperties = &hiveDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hod.AdditionalProperties == nil { + hod.AdditionalProperties = make(map[string]interface{}) + } + hod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + hod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + hod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + hod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hod.Type = typeVar + } + } + } + + return nil +} + +// HiveSource a copy activity Hive Server source. +type HiveSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HiveSource. +func (hs HiveSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHiveSource + objectMap := make(map[string]interface{}) + if hs.Query != nil { + objectMap["query"] = hs.Query + } + if hs.QueryTimeout != nil { + objectMap["queryTimeout"] = hs.QueryTimeout + } + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount + } + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait + } + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections + } + if hs.Type != "" { + objectMap["type"] = hs.Type + } + for k, v := range hs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHiveSource() (*HiveSource, bool) { + return &hs, true +} + +// AsHBaseSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &hs, true +} + +// AsBinarySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true +} + +// UnmarshalJSON is the custom unmarshaler for HiveSource struct. +func (hs *HiveSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + hs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + hs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) + } + hs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + hs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + hs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hs.Type = typeVar + } + } + } + + return nil +} + +// HTTPLinkedService linked service for an HTTP source. +type HTTPLinkedService struct { + // HTTPLinkedServiceTypeProperties - Properties specific to this linked service type. + *HTTPLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HTTPLinkedService. +func (hls HTTPLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHTTPServer + objectMap := make(map[string]interface{}) + if hls.HTTPLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HTTPLinkedServiceTypeProperties + } + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia + } + if hls.Description != nil { + objectMap["description"] = hls.Description + } + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters + } + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations + } + if hls.Type != "" { + objectMap["type"] = hls.Type + } + for k, v := range hls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return &hls, true +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HTTPLinkedService struct. +func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var HTTPLinkedServiceTypeProperties HTTPLinkedServiceTypeProperties + err = json.Unmarshal(*v, &HTTPLinkedServiceTypeProperties) + if err != nil { + return err + } + hls.HTTPLinkedServiceTypeProperties = &HTTPLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) + } + hls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hls.Type = typeVar + } + } + } + + return nil +} + +// HTTPLinkedServiceTypeProperties properties specific to this linked service type. +type HTTPLinkedServiceTypeProperties struct { + // URL - The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the HTTP server. Possible values include: 'HTTPAuthenticationTypeBasic', 'HTTPAuthenticationTypeAnonymous', 'HTTPAuthenticationTypeDigest', 'HTTPAuthenticationTypeWindows', 'HTTPAuthenticationTypeClientCertificate' + AuthenticationType HTTPAuthenticationType `json:"authenticationType,omitempty"` + // UserName - User name for Basic, Digest, or Windows authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication. + Password BasicSecretBase `json:"password,omitempty"` + // 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). + EmbeddedCertData interface{} `json:"embeddedCertData,omitempty"` + // 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). + CertThumbprint interface{} `json:"certThumbprint,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // EnableServerCertificateValidation - If true, validate the HTTPS server SSL certificate. Default value is true. Type: boolean (or Expression with resultType boolean). + EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HTTPLinkedServiceTypeProperties struct. +func (hlstp *HTTPLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + hlstp.URL = URL + } + case "authenticationType": + if v != nil { + var authenticationType HTTPAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + hlstp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + hlstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.Password = password + } + case "embeddedCertData": + if v != nil { + var embeddedCertData interface{} + err = json.Unmarshal(*v, &embeddedCertData) + if err != nil { + return err + } + hlstp.EmbeddedCertData = embeddedCertData + } + case "certThumbprint": + if v != nil { + var certThumbprint interface{} + err = json.Unmarshal(*v, &certThumbprint) + if err != nil { + return err + } + hlstp.CertThumbprint = certThumbprint + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hlstp.EncryptedCredential = encryptedCredential + } + case "enableServerCertificateValidation": + if v != nil { + var enableServerCertificateValidation interface{} + err = json.Unmarshal(*v, &enableServerCertificateValidation) + if err != nil { + return err + } + hlstp.EnableServerCertificateValidation = enableServerCertificateValidation + } + } + } + + return nil +} + +// HTTPReadSettings sftp read settings. +type HTTPReadSettings struct { + // RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). + RequestMethod interface{} `json:"requestMethod,omitempty"` + // RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string). + RequestBody interface{} `json:"requestBody,omitempty"` + // AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string). + AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"` + // RequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server. + RequestTimeout interface{} `json:"requestTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HTTPReadSettings. +func (hrs HTTPReadSettings) MarshalJSON() ([]byte, error) { + hrs.Type = TypeHTTPReadSettings + objectMap := make(map[string]interface{}) + if hrs.RequestMethod != nil { + objectMap["requestMethod"] = hrs.RequestMethod + } + if hrs.RequestBody != nil { + objectMap["requestBody"] = hrs.RequestBody + } + if hrs.AdditionalHeaders != nil { + objectMap["additionalHeaders"] = hrs.AdditionalHeaders + } + if hrs.RequestTimeout != nil { + objectMap["requestTimeout"] = hrs.RequestTimeout + } + if hrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections + } + if hrs.Type != "" { + objectMap["type"] = hrs.Type + } + for k, v := range hrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return &hrs, true +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings. +func (hrs HTTPReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &hrs, true +} + +// UnmarshalJSON is the custom unmarshaler for HTTPReadSettings struct. +func (hrs *HTTPReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "requestMethod": + if v != nil { + var requestMethod interface{} + err = json.Unmarshal(*v, &requestMethod) + if err != nil { + return err + } + hrs.RequestMethod = requestMethod + } + case "requestBody": + if v != nil { + var requestBody interface{} + err = json.Unmarshal(*v, &requestBody) + if err != nil { + return err + } + hrs.RequestBody = requestBody + } + case "additionalHeaders": + if v != nil { + var additionalHeaders interface{} + err = json.Unmarshal(*v, &additionalHeaders) + if err != nil { + return err + } + hrs.AdditionalHeaders = additionalHeaders + } + case "requestTimeout": + if v != nil { + var requestTimeout interface{} + err = json.Unmarshal(*v, &requestTimeout) + if err != nil { + return err + } + hrs.RequestTimeout = requestTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hrs.AdditionalProperties == nil { + hrs.AdditionalProperties = make(map[string]interface{}) + } + hrs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hrs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hrs.Type = typeVar + } + } + } + + return nil +} + +// HTTPServerLocation the location of http server. +type HTTPServerLocation struct { + // RelativeURL - Specify the relativeUrl of http server. Type: string (or Expression with resultType string) + RelativeURL interface{} `json:"relativeUrl,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HTTPServerLocation. +func (hsl HTTPServerLocation) MarshalJSON() ([]byte, error) { + hsl.Type = TypeHTTPServerLocation + objectMap := make(map[string]interface{}) + if hsl.RelativeURL != nil { + objectMap["relativeUrl"] = hsl.RelativeURL + } + if hsl.FolderPath != nil { + objectMap["folderPath"] = hsl.FolderPath + } + if hsl.FileName != nil { + objectMap["fileName"] = hsl.FileName + } + if hsl.Type != "" { + objectMap["type"] = hsl.Type + } + for k, v := range hsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return &hsl, true +} + +// AsSftpLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsSftpLocation() (*SftpLocation, bool) { + return nil, false +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for HTTPServerLocation. +func (hsl HTTPServerLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &hsl, true +} + +// UnmarshalJSON is the custom unmarshaler for HTTPServerLocation struct. +func (hsl *HTTPServerLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "relativeUrl": + if v != nil { + var relativeURL interface{} + err = json.Unmarshal(*v, &relativeURL) + if err != nil { + return err + } + hsl.RelativeURL = relativeURL + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hsl.AdditionalProperties == nil { + hsl.AdditionalProperties = make(map[string]interface{}) + } + hsl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + hsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + hsl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hsl.Type = typeVar + } + } + } + + return nil +} + +// HTTPSource a copy activity source for an HTTP file. +type HTTPSource struct { + // 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])). + HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HTTPSource. +func (hs HTTPSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHTTPSource + objectMap := make(map[string]interface{}) + if hs.HTTPRequestTimeout != nil { + objectMap["httpRequestTimeout"] = hs.HTTPRequestTimeout + } + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount + } + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait + } + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections + } + if hs.Type != "" { + objectMap["type"] = hs.Type + } + for k, v := range hs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHTTPSource() (*HTTPSource, bool) { + return &hs, true +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true +} + +// UnmarshalJSON is the custom unmarshaler for HTTPSource struct. +func (hs *HTTPSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "httpRequestTimeout": + if v != nil { + var HTTPRequestTimeout interface{} + err = json.Unmarshal(*v, &HTTPRequestTimeout) + if err != nil { + return err + } + hs.HTTPRequestTimeout = HTTPRequestTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) + } + hs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + hs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + hs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hs.Type = typeVar + } + } + } + + return nil +} + +// HubspotLinkedService hubspot Service linked service. +type HubspotLinkedService struct { + // HubspotLinkedServiceTypeProperties - Hubspot Service linked service properties. + *HubspotLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HubspotLinkedService. +func (hls HubspotLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHubspot + objectMap := make(map[string]interface{}) + if hls.HubspotLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HubspotLinkedServiceTypeProperties + } + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia + } + if hls.Description != nil { + objectMap["description"] = hls.Description + } + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters + } + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations + } + if hls.Type != "" { + objectMap["type"] = hls.Type + } + for k, v := range hls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return &hls, true +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HubspotLinkedService struct. +func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hubspotLinkedServiceTypeProperties HubspotLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hubspotLinkedServiceTypeProperties) + if err != nil { + return err + } + hls.HubspotLinkedServiceTypeProperties = &hubspotLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) + } + hls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hls.Type = typeVar + } + } + } + + return nil +} + +// HubspotLinkedServiceTypeProperties hubspot Service linked service properties. +type HubspotLinkedServiceTypeProperties struct { + // ClientID - The client ID associated with your Hubspot application. + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret associated with your Hubspot application. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // AccessToken - The access token obtained when initially authenticating your OAuth integration. + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // RefreshToken - The refresh token obtained when initially authenticating your OAuth integration. + RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HubspotLinkedServiceTypeProperties struct. +func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + hlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.ClientSecret = clientSecret + } + case "accessToken": + if v != nil { + accessToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.AccessToken = accessToken + } + case "refreshToken": + if v != nil { + refreshToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.RefreshToken = refreshToken + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + hlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + hlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + hlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// HubspotObjectDataset hubspot Service dataset. +type HubspotObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HubspotObjectDataset. +func (hod HubspotObjectDataset) MarshalJSON() ([]byte, error) { + hod.Type = TypeHubspotObject + objectMap := make(map[string]interface{}) + if hod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = hod.GenericDatasetTypeProperties + } + if hod.Description != nil { + objectMap["description"] = hod.Description + } + if hod.Structure != nil { + objectMap["structure"] = hod.Structure + } + if hod.Schema != nil { + objectMap["schema"] = hod.Schema + } + if hod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hod.LinkedServiceName + } + if hod.Parameters != nil { + objectMap["parameters"] = hod.Parameters + } + if hod.Annotations != nil { + objectMap["annotations"] = hod.Annotations + } + if hod.Folder != nil { + objectMap["folder"] = hod.Folder + } + if hod.Type != "" { + objectMap["type"] = hod.Type + } + for k, v := range hod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return &hod, true +} + +// AsHiveObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &hod, true +} + +// UnmarshalJSON is the custom unmarshaler for HubspotObjectDataset struct. +func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + hod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hod.AdditionalProperties == nil { + hod.AdditionalProperties = make(map[string]interface{}) + } + hod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + hod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + hod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + hod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hod.Type = typeVar + } + } + } + + return nil +} + +// HubspotSource a copy activity Hubspot Service source. +type HubspotSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HubspotSource. +func (hs HubspotSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHubspotSource + objectMap := make(map[string]interface{}) + if hs.Query != nil { + objectMap["query"] = hs.Query + } + if hs.QueryTimeout != nil { + objectMap["queryTimeout"] = hs.QueryTimeout + } + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount + } + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait + } + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections + } + if hs.Type != "" { + objectMap["type"] = hs.Type + } + for k, v := range hs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHubspotSource() (*HubspotSource, bool) { + return &hs, true +} + +// AsHiveSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &hs, true +} + +// AsBinarySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true +} + +// UnmarshalJSON is the custom unmarshaler for HubspotSource struct. +func (hs *HubspotSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + hs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + hs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) + } + hs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + hs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + hs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hs.Type = typeVar + } + } + } + + return nil +} + +// IfConditionActivity this activity evaluates a boolean expression and executes either the activities +// under the ifTrueActivities property or the ifFalseActivities property depending on the result of the +// expression. +type IfConditionActivity struct { + // IfConditionActivityTypeProperties - IfCondition activity properties. + *IfConditionActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for IfConditionActivity. +func (ica IfConditionActivity) MarshalJSON() ([]byte, error) { + ica.Type = TypeIfCondition + objectMap := make(map[string]interface{}) + if ica.IfConditionActivityTypeProperties != nil { + objectMap["typeProperties"] = ica.IfConditionActivityTypeProperties + } + if ica.Name != nil { + objectMap["name"] = ica.Name + } + if ica.Description != nil { + objectMap["description"] = ica.Description + } + if ica.DependsOn != nil { + objectMap["dependsOn"] = ica.DependsOn + } + if ica.UserProperties != nil { + objectMap["userProperties"] = ica.UserProperties + } + if ica.Type != "" { + objectMap["type"] = ica.Type + } + for k, v := range ica.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return &ica, true +} + +// AsExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &ica, true +} + +// AsActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsBasicActivity() (BasicActivity, bool) { + return &ica, true +} + +// UnmarshalJSON is the custom unmarshaler for IfConditionActivity struct. +func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var ifConditionActivityTypeProperties IfConditionActivityTypeProperties + err = json.Unmarshal(*v, &ifConditionActivityTypeProperties) + if err != nil { + return err + } + ica.IfConditionActivityTypeProperties = &ifConditionActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ica.AdditionalProperties == nil { + ica.AdditionalProperties = make(map[string]interface{}) + } + ica.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ica.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ica.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ica.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ica.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ica.Type = typeVar + } + } + } + + return nil +} + +// IfConditionActivityTypeProperties ifCondition activity properties. +type IfConditionActivityTypeProperties struct { + // Expression - An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed. + Expression *Expression `json:"expression,omitempty"` + // 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. + IfTrueActivities *[]BasicActivity `json:"ifTrueActivities,omitempty"` + // 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. + IfFalseActivities *[]BasicActivity `json:"ifFalseActivities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for IfConditionActivityTypeProperties struct. +func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "expression": + if v != nil { + var expression Expression + err = json.Unmarshal(*v, &expression) + if err != nil { + return err + } + icatp.Expression = &expression + } + case "ifTrueActivities": + if v != nil { + ifTrueActivities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + icatp.IfTrueActivities = &ifTrueActivities + } + case "ifFalseActivities": + if v != nil { + ifFalseActivities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + icatp.IfFalseActivities = &ifFalseActivities + } + } + } + + return nil +} + +// ImpalaDatasetTypeProperties impala Dataset Properties +type ImpalaDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Impala. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Impala. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// ImpalaLinkedService impala server linked service. +type ImpalaLinkedService struct { + // ImpalaLinkedServiceTypeProperties - Impala server linked service properties. + *ImpalaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ImpalaLinkedService. +func (ils ImpalaLinkedService) MarshalJSON() ([]byte, error) { + ils.Type = TypeImpala + objectMap := make(map[string]interface{}) + if ils.ImpalaLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ils.ImpalaLinkedServiceTypeProperties + } + if ils.ConnectVia != nil { + objectMap["connectVia"] = ils.ConnectVia + } + if ils.Description != nil { + objectMap["description"] = ils.Description + } + if ils.Parameters != nil { + objectMap["parameters"] = ils.Parameters + } + if ils.Annotations != nil { + objectMap["annotations"] = ils.Annotations + } + if ils.Type != "" { + objectMap["type"] = ils.Type + } + for k, v := range ils.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return &ils, true +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ils, true +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedService struct. +func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var impalaLinkedServiceTypeProperties ImpalaLinkedServiceTypeProperties + err = json.Unmarshal(*v, &impalaLinkedServiceTypeProperties) + if err != nil { + return err + } + ils.ImpalaLinkedServiceTypeProperties = &impalaLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ils.AdditionalProperties == nil { + ils.AdditionalProperties = make(map[string]interface{}) + } + ils.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ils.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ils.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ils.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ils.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ils.Type = typeVar + } + } + } + + return nil +} + +// ImpalaLinkedServiceTypeProperties impala server linked service properties. +type ImpalaLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the Impala server. (i.e. 192.168.222.160) + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the Impala server uses to listen for client connections. The default value is 21050. + Port interface{} `json:"port,omitempty"` + // AuthenticationType - The authentication type to use. Possible values include: 'ImpalaAuthenticationTypeAnonymous', 'ImpalaAuthenticationTypeSASLUsername', 'ImpalaAuthenticationTypeUsernameAndPassword' + AuthenticationType ImpalaAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name used to access the Impala server. The default value is anonymous when using SASLUsername. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name when using UsernameAndPassword. + Password BasicSecretBase `json:"password,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // 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. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedServiceTypeProperties struct. +func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + ilstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + ilstp.Port = port + } + case "authenticationType": + if v != nil { + var authenticationType ImpalaAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + ilstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + ilstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ilstp.Password = password + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + ilstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + ilstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + ilstp.UseSystemTrustStore = useSystemTrustStore + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + ilstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + ilstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + ilstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ImpalaObjectDataset impala server dataset. +type ImpalaObjectDataset struct { + // ImpalaDatasetTypeProperties - Properties specific to this dataset type. + *ImpalaDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) MarshalJSON() ([]byte, error) { + iod.Type = TypeImpalaObject + objectMap := make(map[string]interface{}) + if iod.ImpalaDatasetTypeProperties != nil { + objectMap["typeProperties"] = iod.ImpalaDatasetTypeProperties + } + if iod.Description != nil { + objectMap["description"] = iod.Description + } + if iod.Structure != nil { + objectMap["structure"] = iod.Structure + } + if iod.Schema != nil { + objectMap["schema"] = iod.Schema + } + if iod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = iod.LinkedServiceName + } + if iod.Parameters != nil { + objectMap["parameters"] = iod.Parameters + } + if iod.Annotations != nil { + objectMap["annotations"] = iod.Annotations + } + if iod.Folder != nil { + objectMap["folder"] = iod.Folder + } + if iod.Type != "" { + objectMap["type"] = iod.Type + } + for k, v := range iod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return &iod, true +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &iod, true +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaObjectDataset struct. +func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var impalaDatasetTypeProperties ImpalaDatasetTypeProperties + err = json.Unmarshal(*v, &impalaDatasetTypeProperties) + if err != nil { + return err + } + iod.ImpalaDatasetTypeProperties = &impalaDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if iod.AdditionalProperties == nil { + iod.AdditionalProperties = make(map[string]interface{}) + } + iod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + iod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + iod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + iod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + iod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + iod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + iod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + iod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + iod.Type = typeVar + } + } + } + + return nil +} + +// ImpalaSource a copy activity Impala server source. +type ImpalaSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ImpalaSource. +func (is ImpalaSource) MarshalJSON() ([]byte, error) { + is.Type = TypeImpalaSource + objectMap := make(map[string]interface{}) + if is.Query != nil { + objectMap["query"] = is.Query + } + if is.QueryTimeout != nil { + objectMap["queryTimeout"] = is.QueryTimeout + } + if is.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = is.SourceRetryCount + } + if is.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = is.SourceRetryWait + } + if is.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + } + if is.Type != "" { + objectMap["type"] = is.Type + } + for k, v := range is.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsImpalaSource() (*ImpalaSource, bool) { + return &is, true +} + +// AsHubspotSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &is, true +} + +// AsBinarySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &is, true +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaSource struct. +func (is *ImpalaSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + is.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + is.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if is.AdditionalProperties == nil { + is.AdditionalProperties = make(map[string]interface{}) + } + is.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + is.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + is.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + is.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + is.Type = typeVar + } + } + } + + return nil +} + +// InformixLinkedService informix linked service. +type InformixLinkedService struct { + // InformixLinkedServiceTypeProperties - Informix linked service properties. + *InformixLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixLinkedService. +func (ils InformixLinkedService) MarshalJSON() ([]byte, error) { + ils.Type = TypeInformix + objectMap := make(map[string]interface{}) + if ils.InformixLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ils.InformixLinkedServiceTypeProperties + } + if ils.ConnectVia != nil { + objectMap["connectVia"] = ils.ConnectVia + } + if ils.Description != nil { + objectMap["description"] = ils.Description + } + if ils.Parameters != nil { + objectMap["parameters"] = ils.Parameters + } + if ils.Annotations != nil { + objectMap["annotations"] = ils.Annotations + } + if ils.Type != "" { + objectMap["type"] = ils.Type + } + for k, v := range ils.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return &ils, true +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ils, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixLinkedService struct. +func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var informixLinkedServiceTypeProperties InformixLinkedServiceTypeProperties + err = json.Unmarshal(*v, &informixLinkedServiceTypeProperties) + if err != nil { + return err + } + ils.InformixLinkedServiceTypeProperties = &informixLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ils.AdditionalProperties == nil { + ils.AdditionalProperties = make(map[string]interface{}) + } + ils.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ils.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ils.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ils.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ils.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ils.Type = typeVar + } + } + } + + return nil +} + +// InformixLinkedServiceTypeProperties informix linked service properties. +type InformixLinkedServiceTypeProperties struct { + // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // 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). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Credential - The access credential portion of the connection string specified in driver-specific property-value format. + Credential BasicSecretBase `json:"credential,omitempty"` + // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for InformixLinkedServiceTypeProperties struct. +func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + ilstp.ConnectionString = connectionString + } + case "authenticationType": + if v != nil { + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + ilstp.AuthenticationType = authenticationType + } + case "credential": + if v != nil { + credential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ilstp.Credential = credential + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + ilstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ilstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + ilstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// InformixSink a copy activity Informix sink. +type InformixSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixSink. +func (is InformixSink) MarshalJSON() ([]byte, error) { + is.Type = TypeInformixSink + objectMap := make(map[string]interface{}) + if is.PreCopyScript != nil { + objectMap["preCopyScript"] = is.PreCopyScript + } + if is.WriteBatchSize != nil { + objectMap["writeBatchSize"] = is.WriteBatchSize + } + if is.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = is.WriteBatchTimeout + } + if is.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = is.SinkRetryCount + } + if is.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = is.SinkRetryWait + } + if is.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + } + if is.Type != "" { + objectMap["type"] = is.Type + } + for k, v := range is.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsInformixSink() (*InformixSink, bool) { + return &is, true +} + +// AsOdbcSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsBasicCopySink() (BasicCopySink, bool) { + return &is, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixSink struct. +func (is *InformixSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + is.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if is.AdditionalProperties == nil { + is.AdditionalProperties = make(map[string]interface{}) + } + is.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + is.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + is.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + is.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + is.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + is.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + is.Type = typeVar + } + } + } + + return nil +} + +// InformixSource a copy activity source for Informix. +type InformixSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixSource. +func (is InformixSource) MarshalJSON() ([]byte, error) { + is.Type = TypeInformixSource + objectMap := make(map[string]interface{}) + if is.Query != nil { + objectMap["query"] = is.Query + } + if is.QueryTimeout != nil { + objectMap["queryTimeout"] = is.QueryTimeout + } + if is.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = is.SourceRetryCount + } + if is.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = is.SourceRetryWait + } + if is.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + } + if is.Type != "" { + objectMap["type"] = is.Type + } + for k, v := range is.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsInformixSource() (*InformixSource, bool) { + return &is, true +} + +// AsAzureTableSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &is, true +} + +// AsBinarySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBasicCopySource() (BasicCopySource, bool) { + return &is, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixSource struct. +func (is *InformixSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + is.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + is.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if is.AdditionalProperties == nil { + is.AdditionalProperties = make(map[string]interface{}) + } + is.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + is.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + is.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + is.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + is.Type = typeVar + } + } + } + + return nil +} + +// InformixTableDataset the Informix table dataset. +type InformixTableDataset struct { + // InformixTableDatasetTypeProperties - Informix table dataset properties. + *InformixTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixTableDataset. +func (itd InformixTableDataset) MarshalJSON() ([]byte, error) { + itd.Type = TypeInformixTable + objectMap := make(map[string]interface{}) + if itd.InformixTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = itd.InformixTableDatasetTypeProperties + } + if itd.Description != nil { + objectMap["description"] = itd.Description + } + if itd.Structure != nil { + objectMap["structure"] = itd.Structure + } + if itd.Schema != nil { + objectMap["schema"] = itd.Schema + } + if itd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = itd.LinkedServiceName + } + if itd.Parameters != nil { + objectMap["parameters"] = itd.Parameters + } + if itd.Annotations != nil { + objectMap["annotations"] = itd.Annotations + } + if itd.Folder != nil { + objectMap["folder"] = itd.Folder + } + if itd.Type != "" { + objectMap["type"] = itd.Type + } + for k, v := range itd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return &itd, true +} + +// AsRelationalTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &itd, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixTableDataset struct. +func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var informixTableDatasetTypeProperties InformixTableDatasetTypeProperties + err = json.Unmarshal(*v, &informixTableDatasetTypeProperties) + if err != nil { + return err + } + itd.InformixTableDatasetTypeProperties = &informixTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if itd.AdditionalProperties == nil { + itd.AdditionalProperties = make(map[string]interface{}) + } + itd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + itd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + itd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + itd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + itd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + itd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + itd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + itd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + itd.Type = typeVar + } + } + } + + return nil +} + +// InformixTableDatasetTypeProperties informix table dataset properties. +type InformixTableDatasetTypeProperties struct { + // TableName - The Informix table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// IntegrationRuntimeReference integration runtime reference type. +type IntegrationRuntimeReference struct { + // Type - Type of integration runtime. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference integration runtime name. + ReferenceName *string `json:"referenceName,omitempty"` + // Parameters - Arguments for integration runtime. + Parameters map[string]interface{} `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeReference. +func (irr IntegrationRuntimeReference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if irr.Type != nil { + objectMap["type"] = irr.Type + } + if irr.ReferenceName != nil { + objectMap["referenceName"] = irr.ReferenceName + } + if irr.Parameters != nil { + objectMap["parameters"] = irr.Parameters + } + return json.Marshal(objectMap) +} + +// JiraLinkedService jira Service linked service. +type JiraLinkedService struct { + // JiraLinkedServiceTypeProperties - Jira Service linked service properties. + *JiraLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JiraLinkedService. +func (jls JiraLinkedService) MarshalJSON() ([]byte, error) { + jls.Type = TypeJira + objectMap := make(map[string]interface{}) + if jls.JiraLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = jls.JiraLinkedServiceTypeProperties + } + if jls.ConnectVia != nil { + objectMap["connectVia"] = jls.ConnectVia + } + if jls.Description != nil { + objectMap["description"] = jls.Description + } + if jls.Parameters != nil { + objectMap["parameters"] = jls.Parameters + } + if jls.Annotations != nil { + objectMap["annotations"] = jls.Annotations + } + if jls.Type != "" { + objectMap["type"] = jls.Type + } + for k, v := range jls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return &jls, true +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &jls, true +} + +// UnmarshalJSON is the custom unmarshaler for JiraLinkedService struct. +func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var jiraLinkedServiceTypeProperties JiraLinkedServiceTypeProperties + err = json.Unmarshal(*v, &jiraLinkedServiceTypeProperties) + if err != nil { + return err + } + jls.JiraLinkedServiceTypeProperties = &jiraLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jls.AdditionalProperties == nil { + jls.AdditionalProperties = make(map[string]interface{}) + } + jls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + jls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + jls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + jls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + jls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jls.Type = typeVar + } + } + } + + return nil +} + +// JiraLinkedServiceTypeProperties jira Service linked service properties. +type JiraLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the Jira service. (e.g. jira.example.com) + Host interface{} `json:"host,omitempty"` + // 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. + Port interface{} `json:"port,omitempty"` + // Username - The user name that you use to access Jira Service. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the username field. + Password BasicSecretBase `json:"password,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for JiraLinkedServiceTypeProperties struct. +func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + jlstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + jlstp.Port = port + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + jlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + jlstp.Password = password + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + jlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + jlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + jlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + jlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// JiraObjectDataset jira Service dataset. +type JiraObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JiraObjectDataset. +func (jod JiraObjectDataset) MarshalJSON() ([]byte, error) { + jod.Type = TypeJiraObject + objectMap := make(map[string]interface{}) + if jod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = jod.GenericDatasetTypeProperties + } + if jod.Description != nil { + objectMap["description"] = jod.Description + } + if jod.Structure != nil { + objectMap["structure"] = jod.Structure + } + if jod.Schema != nil { + objectMap["schema"] = jod.Schema + } + if jod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = jod.LinkedServiceName + } + if jod.Parameters != nil { + objectMap["parameters"] = jod.Parameters + } + if jod.Annotations != nil { + objectMap["annotations"] = jod.Annotations + } + if jod.Folder != nil { + objectMap["folder"] = jod.Folder + } + if jod.Type != "" { + objectMap["type"] = jod.Type + } + for k, v := range jod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return &jod, true +} + +// AsImpalaObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &jod, true +} + +// UnmarshalJSON is the custom unmarshaler for JiraObjectDataset struct. +func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + jod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jod.AdditionalProperties == nil { + jod.AdditionalProperties = make(map[string]interface{}) + } + jod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + jod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + jod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + jod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + jod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + jod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + jod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + jod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jod.Type = typeVar + } + } + } + + return nil +} + +// JiraSource a copy activity Jira Service source. +type JiraSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JiraSource. +func (js JiraSource) MarshalJSON() ([]byte, error) { + js.Type = TypeJiraSource + objectMap := make(map[string]interface{}) + if js.Query != nil { + objectMap["query"] = js.Query + } + if js.QueryTimeout != nil { + objectMap["queryTimeout"] = js.QueryTimeout + } + if js.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = js.SourceRetryCount + } + if js.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = js.SourceRetryWait + } + if js.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections + } + if js.Type != "" { + objectMap["type"] = js.Type + } + for k, v := range js.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsJiraSource() (*JiraSource, bool) { + return &js, true +} + +// AsImpalaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &js, true +} + +// AsBinarySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBasicCopySource() (BasicCopySource, bool) { + return &js, true +} + +// UnmarshalJSON is the custom unmarshaler for JiraSource struct. +func (js *JiraSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + js.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + js.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if js.AdditionalProperties == nil { + js.AdditionalProperties = make(map[string]interface{}) + } + js.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + js.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + js.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + js.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + js.Type = typeVar + } + } + } + + return nil +} + +// JSONDataset json dataset. +type JSONDataset struct { + // JSONDatasetTypeProperties - Json dataset properties. + *JSONDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONDataset. +func (jd JSONDataset) MarshalJSON() ([]byte, error) { + jd.Type = TypeJSON + objectMap := make(map[string]interface{}) + if jd.JSONDatasetTypeProperties != nil { + objectMap["typeProperties"] = jd.JSONDatasetTypeProperties + } + if jd.Description != nil { + objectMap["description"] = jd.Description + } + if jd.Structure != nil { + objectMap["structure"] = jd.Structure + } + if jd.Schema != nil { + objectMap["schema"] = jd.Schema + } + if jd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = jd.LinkedServiceName + } + if jd.Parameters != nil { + objectMap["parameters"] = jd.Parameters + } + if jd.Annotations != nil { + objectMap["annotations"] = jd.Annotations + } + if jd.Folder != nil { + objectMap["folder"] = jd.Folder + } + if jd.Type != "" { + objectMap["type"] = jd.Type + } + for k, v := range jd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsJSONDataset() (*JSONDataset, bool) { + return &jd, true +} + +// AsDelimitedTextDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsBasicDataset() (BasicDataset, bool) { + return &jd, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONDataset struct. +func (jd *JSONDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var JSONDatasetTypeProperties JSONDatasetTypeProperties + err = json.Unmarshal(*v, &JSONDatasetTypeProperties) + if err != nil { + return err + } + jd.JSONDatasetTypeProperties = &JSONDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jd.AdditionalProperties == nil { + jd.AdditionalProperties = make(map[string]interface{}) + } + jd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + jd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + jd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + jd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + jd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + jd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + jd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + jd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jd.Type = typeVar + } + } + } + + return nil +} + +// JSONDatasetTypeProperties json dataset properties. +type JSONDatasetTypeProperties struct { + // Location - The location of the json data storage. + Location BasicDatasetLocation `json:"location,omitempty"` + // 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). + EncodingName interface{} `json:"encodingName,omitempty"` + // Compression - The data compression method used for the json dataset. + Compression BasicDatasetCompression `json:"compression,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for JSONDatasetTypeProperties struct. +func (jdtp *JSONDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + location, err := unmarshalBasicDatasetLocation(*v) + if err != nil { + return err + } + jdtp.Location = location + } + case "encodingName": + if v != nil { + var encodingName interface{} + err = json.Unmarshal(*v, &encodingName) + if err != nil { + return err + } + jdtp.EncodingName = encodingName + } + case "compression": + if v != nil { + compression, err := unmarshalBasicDatasetCompression(*v) + if err != nil { + return err + } + jdtp.Compression = compression + } + } + } + + return nil +} + +// JSONSink a copy activity Json sink. +type JSONSink struct { + // StoreSettings - Json store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // FormatSettings - Json format settings. + FormatSettings *JSONWriteSettings `json:"formatSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONSink. +func (js JSONSink) MarshalJSON() ([]byte, error) { + js.Type = TypeJSONSink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = js.StoreSettings + if js.FormatSettings != nil { + objectMap["formatSettings"] = js.FormatSettings + } + if js.WriteBatchSize != nil { + objectMap["writeBatchSize"] = js.WriteBatchSize + } + if js.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = js.WriteBatchTimeout + } + if js.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = js.SinkRetryCount + } + if js.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = js.SinkRetryWait + } + if js.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections + } + if js.Type != "" { + objectMap["type"] = js.Type + } + for k, v := range js.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsJSONSink() (*JSONSink, bool) { + return &js, true +} + +// AsDelimitedTextSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsBasicCopySink() (BasicCopySink, bool) { + return &js, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONSink struct. +func (js *JSONSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + js.StoreSettings = storeSettings + } + case "formatSettings": + if v != nil { + var formatSettings JSONWriteSettings + err = json.Unmarshal(*v, &formatSettings) + if err != nil { + return err + } + js.FormatSettings = &formatSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if js.AdditionalProperties == nil { + js.AdditionalProperties = make(map[string]interface{}) + } + js.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + js.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + js.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + js.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + js.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + js.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + js.Type = typeVar + } + } + } + + return nil +} + +// JSONSource a copy activity Json source. +type JSONSource struct { + // StoreSettings - Json store settings. + StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONSource. +func (js JSONSource) MarshalJSON() ([]byte, error) { + js.Type = TypeJSONSource + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = js.StoreSettings + if js.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = js.SourceRetryCount + } + if js.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = js.SourceRetryWait + } + if js.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections + } + if js.Type != "" { + objectMap["type"] = js.Type + } + for k, v := range js.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsJSONSource() (*JSONSource, bool) { + return &js, true +} + +// AsDelimitedTextSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBasicCopySource() (BasicCopySource, bool) { + return &js, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONSource struct. +func (js *JSONSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreReadSettings(*v) + if err != nil { + return err + } + js.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if js.AdditionalProperties == nil { + js.AdditionalProperties = make(map[string]interface{}) + } + js.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + js.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + js.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + js.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + js.Type = typeVar + } + } + } + + return nil +} + +// JSONWriteSettings json write settings. +type JSONWriteSettings struct { + // 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: 'SetOfObjects', 'ArrayOfObjects' + FilePattern JSONWriteFilePattern `json:"filePattern,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings' + Type TypeBasicFormatWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONWriteSettings. +func (jws JSONWriteSettings) MarshalJSON() ([]byte, error) { + jws.Type = TypeJSONWriteSettings + objectMap := make(map[string]interface{}) + if jws.FilePattern != "" { + objectMap["filePattern"] = jws.FilePattern + } + if jws.Type != "" { + objectMap["type"] = jws.Type + } + for k, v := range jws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsJSONWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings. +func (jws JSONWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) { + return &jws, true +} + +// AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings. +func (jws JSONWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) { + return nil, false +} + +// AsAvroWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings. +func (jws JSONWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) { + return nil, false +} + +// AsFormatWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings. +func (jws JSONWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) { + return nil, false +} + +// AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings. +func (jws JSONWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) { + return &jws, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONWriteSettings struct. +func (jws *JSONWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "filePattern": + if v != nil { + var filePattern JSONWriteFilePattern + err = json.Unmarshal(*v, &filePattern) + if err != nil { + return err + } + jws.FilePattern = filePattern + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jws.AdditionalProperties == nil { + jws.AdditionalProperties = make(map[string]interface{}) + } + jws.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicFormatWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jws.Type = typeVar + } + } + } + + return nil +} + +// BasicLinkedService the Azure Synapse nested object which contains the information and credential which can be used +// to connect with related store or compute resource. +type BasicLinkedService interface { + AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) + AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) + AsSapTableLinkedService() (*SapTableLinkedService, bool) + AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) + AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) + AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) + AsResponsysLinkedService() (*ResponsysLinkedService, bool) + AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) + AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) + AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) + AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) + AsNetezzaLinkedService() (*NetezzaLinkedService, bool) + AsVerticaLinkedService() (*VerticaLinkedService, bool) + AsZohoLinkedService() (*ZohoLinkedService, bool) + AsXeroLinkedService() (*XeroLinkedService, bool) + AsSquareLinkedService() (*SquareLinkedService, bool) + AsSparkLinkedService() (*SparkLinkedService, bool) + AsShopifyLinkedService() (*ShopifyLinkedService, bool) + AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) + AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) + AsPrestoLinkedService() (*PrestoLinkedService, bool) + AsPhoenixLinkedService() (*PhoenixLinkedService, bool) + AsPaypalLinkedService() (*PaypalLinkedService, bool) + AsMarketoLinkedService() (*MarketoLinkedService, bool) + AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) + AsMariaDBLinkedService() (*MariaDBLinkedService, bool) + AsMagentoLinkedService() (*MagentoLinkedService, bool) + AsJiraLinkedService() (*JiraLinkedService, bool) + AsImpalaLinkedService() (*ImpalaLinkedService, bool) + AsHubspotLinkedService() (*HubspotLinkedService, bool) + AsHiveLinkedService() (*HiveLinkedService, bool) + AsHBaseLinkedService() (*HBaseLinkedService, bool) + AsGreenplumLinkedService() (*GreenplumLinkedService, bool) + AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) + AsEloquaLinkedService() (*EloquaLinkedService, bool) + AsDrillLinkedService() (*DrillLinkedService, bool) + AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) + AsConcurLinkedService() (*ConcurLinkedService, bool) + AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) + AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) + AsSapHanaLinkedService() (*SapHanaLinkedService, bool) + AsSapBWLinkedService() (*SapBWLinkedService, bool) + AsSftpServerLinkedService() (*SftpServerLinkedService, bool) + AsFtpServerLinkedService() (*FtpServerLinkedService, bool) + AsHTTPLinkedService() (*HTTPLinkedService, bool) + AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) + AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) + AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) + AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) + AsRestServiceLinkedService() (*RestServiceLinkedService, bool) + AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) + AsSapEccLinkedService() (*SapEccLinkedService, bool) + AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) + AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) + AsSalesforceLinkedService() (*SalesforceLinkedService, bool) + AsOffice365LinkedService() (*Office365LinkedService, bool) + AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) + AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) + AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) + AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) + AsMongoDbLinkedService() (*MongoDbLinkedService, bool) + AsCassandraLinkedService() (*CassandraLinkedService, bool) + AsWebLinkedService() (*WebLinkedService, bool) + AsODataLinkedService() (*ODataLinkedService, bool) + AsHdfsLinkedService() (*HdfsLinkedService, bool) + AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) + AsInformixLinkedService() (*InformixLinkedService, bool) + AsOdbcLinkedService() (*OdbcLinkedService, bool) + AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) + AsAzureMLLinkedService() (*AzureMLLinkedService, bool) + AsTeradataLinkedService() (*TeradataLinkedService, bool) + AsDb2LinkedService() (*Db2LinkedService, bool) + AsSybaseLinkedService() (*SybaseLinkedService, bool) + AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) + AsMySQLLinkedService() (*MySQLLinkedService, bool) + AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) + AsOracleLinkedService() (*OracleLinkedService, bool) + AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) + AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) + AsFileServerLinkedService() (*FileServerLinkedService, bool) + AsHDInsightLinkedService() (*HDInsightLinkedService, bool) + AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) + AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) + AsDynamicsLinkedService() (*DynamicsLinkedService, bool) + AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) + AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) + AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) + AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) + AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) + AsSQLServerLinkedService() (*SQLServerLinkedService, bool) + AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) + AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) + AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) + AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) + AsLinkedService() (*LinkedService, bool) +} + +// LinkedService the Azure Synapse nested object which contains the information and credential which can be +// used to connect with related store or compute resource. +type LinkedService struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +func unmarshalBasicLinkedService(body []byte) (BasicLinkedService, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeAzureFunction): + var afls AzureFunctionLinkedService + err := json.Unmarshal(body, &afls) + return afls, err + case string(TypeAzureDataExplorer): + var adels AzureDataExplorerLinkedService + err := json.Unmarshal(body, &adels) + return adels, err + case string(TypeSapTable): + var stls SapTableLinkedService + err := json.Unmarshal(body, &stls) + return stls, err + case string(TypeGoogleAdWords): + var gawls GoogleAdWordsLinkedService + err := json.Unmarshal(body, &gawls) + return gawls, err + case string(TypeOracleServiceCloud): + var oscls OracleServiceCloudLinkedService + err := json.Unmarshal(body, &oscls) + return oscls, err + case string(TypeDynamicsAX): + var dals DynamicsAXLinkedService + err := json.Unmarshal(body, &dals) + return dals, err + case string(TypeResponsys): + var rls ResponsysLinkedService + err := json.Unmarshal(body, &rls) + return rls, err + case string(TypeAzureDatabricks): + var adls AzureDatabricksLinkedService + err := json.Unmarshal(body, &adls) + return adls, err + case string(TypeAzureDataLakeAnalytics): + var adlals AzureDataLakeAnalyticsLinkedService + err := json.Unmarshal(body, &adlals) + return adlals, err + case string(TypeHDInsightOnDemand): + var hiodls HDInsightOnDemandLinkedService + err := json.Unmarshal(body, &hiodls) + return hiodls, err + case string(TypeSalesforceMarketingCloud): + var smcls SalesforceMarketingCloudLinkedService + err := json.Unmarshal(body, &smcls) + return smcls, err + case string(TypeNetezza): + var nls NetezzaLinkedService + err := json.Unmarshal(body, &nls) + return nls, err + case string(TypeVertica): + var vls VerticaLinkedService + err := json.Unmarshal(body, &vls) + return vls, err + case string(TypeZoho): + var zls ZohoLinkedService + err := json.Unmarshal(body, &zls) + return zls, err + case string(TypeXero): + var xls XeroLinkedService + err := json.Unmarshal(body, &xls) + return xls, err + case string(TypeSquare): + var sls SquareLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeSpark): + var sls SparkLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeShopify): + var sls ShopifyLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeServiceNow): + var snls ServiceNowLinkedService + err := json.Unmarshal(body, &snls) + return snls, err + case string(TypeQuickBooks): + var qbls QuickBooksLinkedService + err := json.Unmarshal(body, &qbls) + return qbls, err + case string(TypePresto): + var pls PrestoLinkedService + err := json.Unmarshal(body, &pls) + return pls, err + case string(TypePhoenix): + var pls PhoenixLinkedService + err := json.Unmarshal(body, &pls) + return pls, err + case string(TypePaypal): + var pls PaypalLinkedService + err := json.Unmarshal(body, &pls) + return pls, err + case string(TypeMarketo): + var mls MarketoLinkedService + err := json.Unmarshal(body, &mls) + return mls, err + case string(TypeAzureMariaDB): + var amdls AzureMariaDBLinkedService + err := json.Unmarshal(body, &amdls) + return amdls, err + case string(TypeMariaDB): + var mdls MariaDBLinkedService + err := json.Unmarshal(body, &mdls) + return mdls, err + case string(TypeMagento): + var mls MagentoLinkedService + err := json.Unmarshal(body, &mls) + return mls, err + case string(TypeJira): + var jls JiraLinkedService + err := json.Unmarshal(body, &jls) + return jls, err + case string(TypeImpala): + var ils ImpalaLinkedService + err := json.Unmarshal(body, &ils) + return ils, err + case string(TypeHubspot): + var hls HubspotLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeHive): + var hls HiveLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeHBase): + var hbls HBaseLinkedService + err := json.Unmarshal(body, &hbls) + return hbls, err + case string(TypeGreenplum): + var gls GreenplumLinkedService + err := json.Unmarshal(body, &gls) + return gls, err + case string(TypeGoogleBigQuery): + var gbqls GoogleBigQueryLinkedService + err := json.Unmarshal(body, &gbqls) + return gbqls, err + case string(TypeEloqua): + var els EloquaLinkedService + err := json.Unmarshal(body, &els) + return els, err + case string(TypeDrill): + var dls DrillLinkedService + err := json.Unmarshal(body, &dls) + return dls, err + case string(TypeCouchbase): + var cls CouchbaseLinkedService + err := json.Unmarshal(body, &cls) + return cls, err + case string(TypeConcur): + var cls ConcurLinkedService + err := json.Unmarshal(body, &cls) + return cls, err + case string(TypeAzurePostgreSQL): + var apsls AzurePostgreSQLLinkedService + err := json.Unmarshal(body, &apsls) + return apsls, err + case string(TypeAmazonMWS): + var amls AmazonMWSLinkedService + err := json.Unmarshal(body, &amls) + return amls, err + case string(TypeSapHana): + var shls SapHanaLinkedService + err := json.Unmarshal(body, &shls) + return shls, err + case string(TypeSapBW): + var sbls SapBWLinkedService + err := json.Unmarshal(body, &sbls) + return sbls, err + case string(TypeSftp): + var ssls SftpServerLinkedService + err := json.Unmarshal(body, &ssls) + return ssls, err + case string(TypeFtpServer): + var fsls FtpServerLinkedService + err := json.Unmarshal(body, &fsls) + return fsls, err + case string(TypeHTTPServer): + var hls HTTPLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeAzureSearch): + var asls AzureSearchLinkedService + err := json.Unmarshal(body, &asls) + return asls, err + case string(TypeCustomDataSource): + var cdsls CustomDataSourceLinkedService + err := json.Unmarshal(body, &cdsls) + return cdsls, err + case string(TypeAmazonRedshift): + var arls AmazonRedshiftLinkedService + err := json.Unmarshal(body, &arls) + return arls, err + case string(TypeAmazonS3): + var asls AmazonS3LinkedService + err := json.Unmarshal(body, &asls) + return asls, err + case string(TypeRestService): + var rsls RestServiceLinkedService + err := json.Unmarshal(body, &rsls) + return rsls, err + case string(TypeSapOpenHub): + var sohls SapOpenHubLinkedService + err := json.Unmarshal(body, &sohls) + return sohls, err + case string(TypeSapEcc): + var sels SapEccLinkedService + err := json.Unmarshal(body, &sels) + return sels, err + case string(TypeSapCloudForCustomer): + var scfcls SapCloudForCustomerLinkedService + err := json.Unmarshal(body, &scfcls) + return scfcls, err + case string(TypeSalesforceServiceCloud): + var sscls SalesforceServiceCloudLinkedService + err := json.Unmarshal(body, &sscls) + return sscls, err + case string(TypeSalesforce): + var sls SalesforceLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeOffice365): + var o3ls Office365LinkedService + err := json.Unmarshal(body, &o3ls) + return o3ls, err + case string(TypeAzureBlobFS): + var abfls AzureBlobFSLinkedService + err := json.Unmarshal(body, &abfls) + return abfls, err + case string(TypeAzureDataLakeStore): + var adlsls AzureDataLakeStoreLinkedService + err := json.Unmarshal(body, &adlsls) + return adlsls, err + case string(TypeCosmosDbMongoDbAPI): + var cdmdals CosmosDbMongoDbAPILinkedService + err := json.Unmarshal(body, &cdmdals) + return cdmdals, err + case string(TypeMongoDbV2): + var mdvls MongoDbV2LinkedService + err := json.Unmarshal(body, &mdvls) + return mdvls, err + case string(TypeMongoDb): + var mdls MongoDbLinkedService + err := json.Unmarshal(body, &mdls) + return mdls, err + case string(TypeCassandra): + var cls CassandraLinkedService + err := json.Unmarshal(body, &cls) + return cls, err + case string(TypeWeb): + var wls WebLinkedService + err := json.Unmarshal(body, &wls) + return wls, err + case string(TypeOData): + var odls ODataLinkedService + err := json.Unmarshal(body, &odls) + return odls, err + case string(TypeHdfs): + var hls HdfsLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeMicrosoftAccess): + var mals MicrosoftAccessLinkedService + err := json.Unmarshal(body, &mals) + return mals, err + case string(TypeInformix): + var ils InformixLinkedService + err := json.Unmarshal(body, &ils) + return ils, err + case string(TypeOdbc): + var ols OdbcLinkedService + err := json.Unmarshal(body, &ols) + return ols, err + case string(TypeAzureMLService): + var amsls AzureMLServiceLinkedService + err := json.Unmarshal(body, &amsls) + return amsls, err + case string(TypeAzureML): + var amls AzureMLLinkedService + err := json.Unmarshal(body, &amls) + return amls, err + case string(TypeTeradata): + var TLSVar TeradataLinkedService + err := json.Unmarshal(body, &TLSVar) + return TLSVar, err + case string(TypeDb2): + var d2ls Db2LinkedService + err := json.Unmarshal(body, &d2ls) + return d2ls, err + case string(TypeSybase): + var sls SybaseLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypePostgreSQL): + var psls PostgreSQLLinkedService + err := json.Unmarshal(body, &psls) + return psls, err + case string(TypeMySQL): + var msls MySQLLinkedService + err := json.Unmarshal(body, &msls) + return msls, err + case string(TypeAzureMySQL): + var amsls AzureMySQLLinkedService + err := json.Unmarshal(body, &amsls) + return amsls, err + case string(TypeOracle): + var ols OracleLinkedService + err := json.Unmarshal(body, &ols) + return ols, err + case string(TypeGoogleCloudStorage): + var gcsls GoogleCloudStorageLinkedService + err := json.Unmarshal(body, &gcsls) + return gcsls, err + case string(TypeAzureFileStorage): + var afsls AzureFileStorageLinkedService + err := json.Unmarshal(body, &afsls) + return afsls, err + case string(TypeFileServer): + var fsls FileServerLinkedService + err := json.Unmarshal(body, &fsls) + return fsls, err + case string(TypeHDInsight): + var hils HDInsightLinkedService + err := json.Unmarshal(body, &hils) + return hils, err + case string(TypeCommonDataServiceForApps): + var cdsfals CommonDataServiceForAppsLinkedService + err := json.Unmarshal(body, &cdsfals) + return cdsfals, err + case string(TypeDynamicsCrm): + var dcls DynamicsCrmLinkedService + err := json.Unmarshal(body, &dcls) + return dcls, err + case string(TypeDynamics): + var dls DynamicsLinkedService + err := json.Unmarshal(body, &dls) + return dls, err + case string(TypeCosmosDb): + var cdls CosmosDbLinkedService + err := json.Unmarshal(body, &cdls) + return cdls, err + case string(TypeAzureKeyVault): + var akvls AzureKeyVaultLinkedService + err := json.Unmarshal(body, &akvls) + return akvls, err + case string(TypeAzureBatch): + var abls AzureBatchLinkedService + err := json.Unmarshal(body, &abls) + return abls, err + case string(TypeAzureSQLMI): + var asmls AzureSQLMILinkedService + err := json.Unmarshal(body, &asmls) + return asmls, err + case string(TypeAzureSQLDatabase): + var asdls AzureSQLDatabaseLinkedService + err := json.Unmarshal(body, &asdls) + return asdls, err + case string(TypeSQLServer): + var ssls SQLServerLinkedService + err := json.Unmarshal(body, &ssls) + return ssls, err + case string(TypeAzureSQLDW): + var asdls AzureSQLDWLinkedService + err := json.Unmarshal(body, &asdls) + return asdls, err + case string(TypeAzureTableStorage): + var atsls AzureTableStorageLinkedService + err := json.Unmarshal(body, &atsls) + return atsls, err + case string(TypeAzureBlobStorage): + var absls AzureBlobStorageLinkedService + err := json.Unmarshal(body, &absls) + return absls, err + case string(TypeAzureStorage): + var asls AzureStorageLinkedService + err := json.Unmarshal(body, &asls) + return asls, err + default: + var ls LinkedService + err := json.Unmarshal(body, &ls) + return ls, err + } +} +func unmarshalBasicLinkedServiceArray(body []byte) ([]BasicLinkedService, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + lsArray := make([]BasicLinkedService, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ls, err := unmarshalBasicLinkedService(*rawMessage) + if err != nil { + return nil, err + } + lsArray[index] = ls + } + return lsArray, nil +} + +// MarshalJSON is the custom marshaler for LinkedService. +func (ls LinkedService) MarshalJSON() ([]byte, error) { + ls.Type = TypeLinkedService + objectMap := make(map[string]interface{}) + if ls.ConnectVia != nil { + objectMap["connectVia"] = ls.ConnectVia + } + if ls.Description != nil { + objectMap["description"] = ls.Description + } + if ls.Parameters != nil { + objectMap["parameters"] = ls.Parameters + } + if ls.Annotations != nil { + objectMap["annotations"] = ls.Annotations + } + if ls.Type != "" { + objectMap["type"] = ls.Type + } + for k, v := range ls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsLinkedService() (*LinkedService, bool) { + return &ls, true +} + +// AsBasicLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ls, true +} + +// UnmarshalJSON is the custom unmarshaler for LinkedService struct. +func (ls *LinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ls.AdditionalProperties == nil { + ls.AdditionalProperties = make(map[string]interface{}) + } + ls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ls.Type = typeVar + } + } + } + + return nil +} + +// LinkedServiceDebugResource linked service debug resource. +type LinkedServiceDebugResource struct { + // Properties - Properties of linked service. + Properties BasicLinkedService `json:"properties,omitempty"` + // Name - The resource name. + Name *string `json:"name,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for LinkedServiceDebugResource struct. +func (lsdr *LinkedServiceDebugResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicLinkedService(*v) + if err != nil { + return err + } + lsdr.Properties = properties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lsdr.Name = &name + } + } + } + + return nil +} + +// LinkedServiceListResponse a list of linked service resources. +type LinkedServiceListResponse struct { + autorest.Response `json:"-"` + // Value - List of linked services. + Value *[]LinkedServiceResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// LinkedServiceListResponseIterator provides access to a complete listing of LinkedServiceResource values. +type LinkedServiceListResponseIterator struct { + i int + page LinkedServiceListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LinkedServiceListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LinkedServiceListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LinkedServiceListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LinkedServiceListResponseIterator) Response() LinkedServiceListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LinkedServiceListResponseIterator) Value() LinkedServiceResource { + if !iter.page.NotDone() { + return LinkedServiceResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LinkedServiceListResponseIterator type. +func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator { + return LinkedServiceListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lslr LinkedServiceListResponse) IsEmpty() bool { + return lslr.Value == nil || len(*lslr.Value) == 0 +} + +// linkedServiceListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lslr LinkedServiceListResponse) linkedServiceListResponsePreparer(ctx context.Context) (*http.Request, error) { + if lslr.NextLink == nil || len(to.String(lslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lslr.NextLink))) +} + +// LinkedServiceListResponsePage contains a page of LinkedServiceResource values. +type LinkedServiceListResponsePage struct { + fn func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error) + lslr LinkedServiceListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LinkedServiceListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lslr) + if err != nil { + return err + } + page.lslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LinkedServiceListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LinkedServiceListResponsePage) NotDone() bool { + return !page.lslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LinkedServiceListResponsePage) Response() LinkedServiceListResponse { + return page.lslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LinkedServiceListResponsePage) Values() []LinkedServiceResource { + if page.lslr.IsEmpty() { + return nil + } + return *page.lslr.Value +} + +// Creates a new instance of the LinkedServiceListResponsePage type. +func NewLinkedServiceListResponsePage(getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage { + return LinkedServiceListResponsePage{fn: getNextPage} +} + +// LinkedServiceReference linked service reference type. +type LinkedServiceReference struct { + // Type - Linked service reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference LinkedService name. + ReferenceName *string `json:"referenceName,omitempty"` + // Parameters - Arguments for LinkedService. + Parameters map[string]interface{} `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for LinkedServiceReference. +func (lsr LinkedServiceReference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lsr.Type != nil { + objectMap["type"] = lsr.Type + } + if lsr.ReferenceName != nil { + objectMap["referenceName"] = lsr.ReferenceName + } + if lsr.Parameters != nil { + objectMap["parameters"] = lsr.Parameters + } + return json.Marshal(objectMap) +} + +// LinkedServiceResource linked service resource type. +type LinkedServiceResource struct { + autorest.Response `json:"-"` + // Properties - Properties of linked service. + Properties BasicLinkedService `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for LinkedServiceResource struct. +func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicLinkedService(*v) + if err != nil { + return err + } + lsr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lsr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lsr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lsr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lsr.Etag = &etag + } + } + } + + return nil +} + +// LogStorageSettings log storage settings. +type LogStorageSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // LinkedServiceName - Log storage linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Path - The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// MarshalJSON is the custom marshaler for LogStorageSettings. +func (lss LogStorageSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lss.LinkedServiceName != nil { + objectMap["linkedServiceName"] = lss.LinkedServiceName + } + if lss.Path != nil { + objectMap["path"] = lss.Path + } + for k, v := range lss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LogStorageSettings struct. +func (lss *LogStorageSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if lss.AdditionalProperties == nil { + lss.AdditionalProperties = make(map[string]interface{}) + } + lss.AdditionalProperties[k] = additionalProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + lss.LinkedServiceName = &linkedServiceName + } + case "path": + if v != nil { + var pathVar interface{} + err = json.Unmarshal(*v, &pathVar) + if err != nil { + return err + } + lss.Path = pathVar + } + } + } + + return nil +} + +// LookupActivity lookup activity. +type LookupActivity struct { + // LookupActivityTypeProperties - Lookup activity properties. + *LookupActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for LookupActivity. +func (la LookupActivity) MarshalJSON() ([]byte, error) { + la.Type = TypeLookup + objectMap := make(map[string]interface{}) + if la.LookupActivityTypeProperties != nil { + objectMap["typeProperties"] = la.LookupActivityTypeProperties + } + if la.LinkedServiceName != nil { + objectMap["linkedServiceName"] = la.LinkedServiceName + } + if la.Policy != nil { + objectMap["policy"] = la.Policy + } + if la.Name != nil { + objectMap["name"] = la.Name + } + if la.Description != nil { + objectMap["description"] = la.Description + } + if la.DependsOn != nil { + objectMap["dependsOn"] = la.DependsOn + } + if la.UserProperties != nil { + objectMap["userProperties"] = la.UserProperties + } + if la.Type != "" { + objectMap["type"] = la.Type + } + for k, v := range la.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsLookupActivity() (*LookupActivity, bool) { + return &la, true +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &la, true +} + +// AsWebHookActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsBasicActivity() (BasicActivity, bool) { + return &la, true +} + +// UnmarshalJSON is the custom unmarshaler for LookupActivity struct. +func (la *LookupActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var lookupActivityTypeProperties LookupActivityTypeProperties + err = json.Unmarshal(*v, &lookupActivityTypeProperties) + if err != nil { + return err + } + la.LookupActivityTypeProperties = &lookupActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + la.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + la.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if la.AdditionalProperties == nil { + la.AdditionalProperties = make(map[string]interface{}) + } + la.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + la.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + la.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + la.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + la.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + la.Type = typeVar + } + } + } + + return nil +} + +// LookupActivityTypeProperties lookup activity properties. +type LookupActivityTypeProperties struct { + // Source - Dataset-specific source properties, same as copy activity source. + Source BasicCopySource `json:"source,omitempty"` + // Dataset - Lookup activity dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // FirstRowOnly - Whether to return first row or all rows. Default value is true. Type: boolean (or Expression with resultType boolean). + FirstRowOnly interface{} `json:"firstRowOnly,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for LookupActivityTypeProperties struct. +func (latp *LookupActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "source": + if v != nil { + source, err := unmarshalBasicCopySource(*v) + if err != nil { + return err + } + latp.Source = source + } + case "dataset": + if v != nil { + var dataset DatasetReference + err = json.Unmarshal(*v, &dataset) + if err != nil { + return err + } + latp.Dataset = &dataset + } + case "firstRowOnly": + if v != nil { + var firstRowOnly interface{} + err = json.Unmarshal(*v, &firstRowOnly) + if err != nil { + return err + } + latp.FirstRowOnly = firstRowOnly + } + } + } + + return nil +} + +// MagentoLinkedService magento server linked service. +type MagentoLinkedService struct { + // MagentoLinkedServiceTypeProperties - Magento server linked service properties. + *MagentoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MagentoLinkedService. +func (mls MagentoLinkedService) MarshalJSON() ([]byte, error) { + mls.Type = TypeMagento + objectMap := make(map[string]interface{}) + if mls.MagentoLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mls.MagentoLinkedServiceTypeProperties + } + if mls.ConnectVia != nil { + objectMap["connectVia"] = mls.ConnectVia + } + if mls.Description != nil { + objectMap["description"] = mls.Description + } + if mls.Parameters != nil { + objectMap["parameters"] = mls.Parameters + } + if mls.Annotations != nil { + objectMap["annotations"] = mls.Annotations + } + if mls.Type != "" { + objectMap["type"] = mls.Type + } + for k, v := range mls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return &mls, true +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mls, true +} + +// UnmarshalJSON is the custom unmarshaler for MagentoLinkedService struct. +func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var magentoLinkedServiceTypeProperties MagentoLinkedServiceTypeProperties + err = json.Unmarshal(*v, &magentoLinkedServiceTypeProperties) + if err != nil { + return err + } + mls.MagentoLinkedServiceTypeProperties = &magentoLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mls.AdditionalProperties == nil { + mls.AdditionalProperties = make(map[string]interface{}) + } + mls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mls.Type = typeVar + } + } + } + + return nil +} + +// MagentoLinkedServiceTypeProperties magento server linked service properties. +type MagentoLinkedServiceTypeProperties struct { + // Host - The URL of the Magento instance. (i.e. 192.168.222.110/magento3) + Host interface{} `json:"host,omitempty"` + // AccessToken - The access token from Magento. + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MagentoLinkedServiceTypeProperties struct. +func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + mlstp.Host = host + } + case "accessToken": + if v != nil { + accessToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + mlstp.AccessToken = accessToken + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + mlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + mlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + mlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + mlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// MagentoObjectDataset magento server dataset. +type MagentoObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MagentoObjectDataset. +func (mod MagentoObjectDataset) MarshalJSON() ([]byte, error) { + mod.Type = TypeMagentoObject + objectMap := make(map[string]interface{}) + if mod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = mod.GenericDatasetTypeProperties + } + if mod.Description != nil { + objectMap["description"] = mod.Description + } + if mod.Structure != nil { + objectMap["structure"] = mod.Structure + } + if mod.Schema != nil { + objectMap["schema"] = mod.Schema + } + if mod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mod.LinkedServiceName + } + if mod.Parameters != nil { + objectMap["parameters"] = mod.Parameters + } + if mod.Annotations != nil { + objectMap["annotations"] = mod.Annotations + } + if mod.Folder != nil { + objectMap["folder"] = mod.Folder + } + if mod.Type != "" { + objectMap["type"] = mod.Type + } + for k, v := range mod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return &mod, true +} + +// AsJiraObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &mod, true +} + +// UnmarshalJSON is the custom unmarshaler for MagentoObjectDataset struct. +func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mod.AdditionalProperties == nil { + mod.AdditionalProperties = make(map[string]interface{}) + } + mod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + mod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + mod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + mod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mod.Type = typeVar + } + } + } + + return nil +} + +// MagentoSource a copy activity Magento server source. +type MagentoSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MagentoSource. +func (ms MagentoSource) MarshalJSON() ([]byte, error) { + ms.Type = TypeMagentoSource + objectMap := make(map[string]interface{}) + if ms.Query != nil { + objectMap["query"] = ms.Query + } + if ms.QueryTimeout != nil { + objectMap["queryTimeout"] = ms.QueryTimeout + } + if ms.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ms.SourceRetryCount + } + if ms.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ms.SourceRetryWait + } + if ms.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections + } + if ms.Type != "" { + objectMap["type"] = ms.Type + } + for k, v := range ms.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMagentoSource() (*MagentoSource, bool) { + return &ms, true +} + +// AsJiraSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ms, true +} + +// AsBinarySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ms, true +} + +// UnmarshalJSON is the custom unmarshaler for MagentoSource struct. +func (ms *MagentoSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ms.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ms.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ms.AdditionalProperties == nil { + ms.AdditionalProperties = make(map[string]interface{}) + } + ms.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ms.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ms.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ms.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ms.Type = typeVar + } + } + } + + return nil +} + +// MappingDataFlow mapping data flow. +type MappingDataFlow struct { + // MappingDataFlowTypeProperties - Mapping data flow type properties. + *MappingDataFlowTypeProperties `json:"typeProperties,omitempty"` + // Description - The description of the data flow. + Description *string `json:"description,omitempty"` + // Annotations - List of tags that can be used for describing the data flow. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this data flow is in. If not specified, Data flow will appear at the root level. + Folder *DataFlowFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataFlow', 'TypeMappingDataFlow' + Type TypeBasicDataFlow `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MappingDataFlow. +func (mdf MappingDataFlow) MarshalJSON() ([]byte, error) { + mdf.Type = TypeMappingDataFlow + objectMap := make(map[string]interface{}) + if mdf.MappingDataFlowTypeProperties != nil { + objectMap["typeProperties"] = mdf.MappingDataFlowTypeProperties + } + if mdf.Description != nil { + objectMap["description"] = mdf.Description + } + if mdf.Annotations != nil { + objectMap["annotations"] = mdf.Annotations + } + if mdf.Folder != nil { + objectMap["folder"] = mdf.Folder + } + if mdf.Type != "" { + objectMap["type"] = mdf.Type + } + return json.Marshal(objectMap) +} + +// AsMappingDataFlow is the BasicDataFlow implementation for MappingDataFlow. +func (mdf MappingDataFlow) AsMappingDataFlow() (*MappingDataFlow, bool) { + return &mdf, true +} + +// AsDataFlow is the BasicDataFlow implementation for MappingDataFlow. +func (mdf MappingDataFlow) AsDataFlow() (*DataFlow, bool) { + return nil, false +} + +// AsBasicDataFlow is the BasicDataFlow implementation for MappingDataFlow. +func (mdf MappingDataFlow) AsBasicDataFlow() (BasicDataFlow, bool) { + return &mdf, true +} + +// UnmarshalJSON is the custom unmarshaler for MappingDataFlow struct. +func (mdf *MappingDataFlow) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mappingDataFlowTypeProperties MappingDataFlowTypeProperties + err = json.Unmarshal(*v, &mappingDataFlowTypeProperties) + if err != nil { + return err + } + mdf.MappingDataFlowTypeProperties = &mappingDataFlowTypeProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mdf.Description = &description + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdf.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DataFlowFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mdf.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataFlow + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdf.Type = typeVar + } + } + } + + return nil +} + +// MappingDataFlowTypeProperties mapping data flow type properties. +type MappingDataFlowTypeProperties struct { + // Sources - List of sources in data flow. + Sources *[]DataFlowSource `json:"sources,omitempty"` + // Sinks - List of sinks in data flow. + Sinks *[]DataFlowSink `json:"sinks,omitempty"` + // Transformations - List of transformations in data flow. + Transformations *[]Transformation `json:"transformations,omitempty"` + // Script - DataFlow script. + Script *string `json:"script,omitempty"` +} + +// MariaDBLinkedService mariaDB server linked service. +type MariaDBLinkedService struct { + // MariaDBLinkedServiceTypeProperties - MariaDB server linked service properties. + *MariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MariaDBLinkedService. +func (mdls MariaDBLinkedService) MarshalJSON() ([]byte, error) { + mdls.Type = TypeMariaDB + objectMap := make(map[string]interface{}) + if mdls.MariaDBLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mdls.MariaDBLinkedServiceTypeProperties + } + if mdls.ConnectVia != nil { + objectMap["connectVia"] = mdls.ConnectVia + } + if mdls.Description != nil { + objectMap["description"] = mdls.Description + } + if mdls.Parameters != nil { + objectMap["parameters"] = mdls.Parameters + } + if mdls.Annotations != nil { + objectMap["annotations"] = mdls.Annotations + } + if mdls.Type != "" { + objectMap["type"] = mdls.Type + } + for k, v := range mdls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return &mdls, true +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mdls, true +} + +// UnmarshalJSON is the custom unmarshaler for MariaDBLinkedService struct. +func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mariaDBLinkedServiceTypeProperties MariaDBLinkedServiceTypeProperties + err = json.Unmarshal(*v, &mariaDBLinkedServiceTypeProperties) + if err != nil { + return err + } + mdls.MariaDBLinkedServiceTypeProperties = &mariaDBLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdls.AdditionalProperties == nil { + mdls.AdditionalProperties = make(map[string]interface{}) + } + mdls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mdls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mdls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mdls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdls.Type = typeVar + } + } + } + + return nil +} + +// MariaDBLinkedServiceTypeProperties mariaDB server linked service properties. +type MariaDBLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// MariaDBSource a copy activity MariaDB server source. +type MariaDBSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MariaDBSource. +func (mds MariaDBSource) MarshalJSON() ([]byte, error) { + mds.Type = TypeMariaDBSource + objectMap := make(map[string]interface{}) + if mds.Query != nil { + objectMap["query"] = mds.Query + } + if mds.QueryTimeout != nil { + objectMap["queryTimeout"] = mds.QueryTimeout + } + if mds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mds.SourceRetryCount + } + if mds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mds.SourceRetryWait + } + if mds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections + } + if mds.Type != "" { + objectMap["type"] = mds.Type + } + for k, v := range mds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) { + return &mds, true +} + +// AsMagentoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &mds, true +} + +// AsBinarySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mds, true +} + +// UnmarshalJSON is the custom unmarshaler for MariaDBSource struct. +func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + mds.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + mds.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mds.AdditionalProperties == nil { + mds.AdditionalProperties = make(map[string]interface{}) + } + mds.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + mds.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + mds.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + mds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mds.Type = typeVar + } + } + } + + return nil +} + +// MariaDBTableDataset mariaDB server dataset. +type MariaDBTableDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) MarshalJSON() ([]byte, error) { + mdtd.Type = TypeMariaDBTable + objectMap := make(map[string]interface{}) + if mdtd.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = mdtd.GenericDatasetTypeProperties + } + if mdtd.Description != nil { + objectMap["description"] = mdtd.Description + } + if mdtd.Structure != nil { + objectMap["structure"] = mdtd.Structure + } + if mdtd.Schema != nil { + objectMap["schema"] = mdtd.Schema + } + if mdtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mdtd.LinkedServiceName + } + if mdtd.Parameters != nil { + objectMap["parameters"] = mdtd.Parameters + } + if mdtd.Annotations != nil { + objectMap["annotations"] = mdtd.Annotations + } + if mdtd.Folder != nil { + objectMap["folder"] = mdtd.Folder + } + if mdtd.Type != "" { + objectMap["type"] = mdtd.Type + } + for k, v := range mdtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return &mdtd, true +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &mdtd, true +} + +// UnmarshalJSON is the custom unmarshaler for MariaDBTableDataset struct. +func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + mdtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdtd.AdditionalProperties == nil { + mdtd.AdditionalProperties = make(map[string]interface{}) + } + mdtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mdtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + mdtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + mdtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + mdtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mdtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mdtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdtd.Type = typeVar + } + } + } + + return nil +} + +// MarketoLinkedService marketo server linked service. +type MarketoLinkedService struct { + // MarketoLinkedServiceTypeProperties - Marketo server linked service properties. + *MarketoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MarketoLinkedService. +func (mls MarketoLinkedService) MarshalJSON() ([]byte, error) { + mls.Type = TypeMarketo + objectMap := make(map[string]interface{}) + if mls.MarketoLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mls.MarketoLinkedServiceTypeProperties + } + if mls.ConnectVia != nil { + objectMap["connectVia"] = mls.ConnectVia + } + if mls.Description != nil { + objectMap["description"] = mls.Description + } + if mls.Parameters != nil { + objectMap["parameters"] = mls.Parameters + } + if mls.Annotations != nil { + objectMap["annotations"] = mls.Annotations + } + if mls.Type != "" { + objectMap["type"] = mls.Type + } + for k, v := range mls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return &mls, true +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mls, true +} + +// UnmarshalJSON is the custom unmarshaler for MarketoLinkedService struct. +func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var marketoLinkedServiceTypeProperties MarketoLinkedServiceTypeProperties + err = json.Unmarshal(*v, &marketoLinkedServiceTypeProperties) + if err != nil { + return err + } + mls.MarketoLinkedServiceTypeProperties = &marketoLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mls.AdditionalProperties == nil { + mls.AdditionalProperties = make(map[string]interface{}) + } + mls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mls.Type = typeVar + } + } + } + + return nil +} + +// MarketoLinkedServiceTypeProperties marketo server linked service properties. +type MarketoLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com) + Endpoint interface{} `json:"endpoint,omitempty"` + // ClientID - The client Id of your Marketo service. + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret of your Marketo service. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MarketoLinkedServiceTypeProperties struct. +func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + mlstp.Endpoint = endpoint + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + mlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + mlstp.ClientSecret = clientSecret + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + mlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + mlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + mlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + mlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// MarketoObjectDataset marketo server dataset. +type MarketoObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MarketoObjectDataset. +func (mod MarketoObjectDataset) MarshalJSON() ([]byte, error) { + mod.Type = TypeMarketoObject + objectMap := make(map[string]interface{}) + if mod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = mod.GenericDatasetTypeProperties + } + if mod.Description != nil { + objectMap["description"] = mod.Description + } + if mod.Structure != nil { + objectMap["structure"] = mod.Structure + } + if mod.Schema != nil { + objectMap["schema"] = mod.Schema + } + if mod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mod.LinkedServiceName + } + if mod.Parameters != nil { + objectMap["parameters"] = mod.Parameters + } + if mod.Annotations != nil { + objectMap["annotations"] = mod.Annotations + } + if mod.Folder != nil { + objectMap["folder"] = mod.Folder + } + if mod.Type != "" { + objectMap["type"] = mod.Type + } + for k, v := range mod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return &mod, true +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &mod, true +} + +// UnmarshalJSON is the custom unmarshaler for MarketoObjectDataset struct. +func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mod.AdditionalProperties == nil { + mod.AdditionalProperties = make(map[string]interface{}) + } + mod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + mod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + mod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + mod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mod.Type = typeVar + } + } + } + + return nil +} + +// MarketoSource a copy activity Marketo server source. +type MarketoSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MarketoSource. +func (ms MarketoSource) MarshalJSON() ([]byte, error) { + ms.Type = TypeMarketoSource + objectMap := make(map[string]interface{}) + if ms.Query != nil { + objectMap["query"] = ms.Query + } + if ms.QueryTimeout != nil { + objectMap["queryTimeout"] = ms.QueryTimeout + } + if ms.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ms.SourceRetryCount + } + if ms.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ms.SourceRetryWait + } + if ms.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections + } + if ms.Type != "" { + objectMap["type"] = ms.Type + } + for k, v := range ms.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMarketoSource() (*MarketoSource, bool) { + return &ms, true +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ms, true +} + +// AsBinarySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ms, true +} + +// UnmarshalJSON is the custom unmarshaler for MarketoSource struct. +func (ms *MarketoSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ms.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ms.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ms.AdditionalProperties == nil { + ms.AdditionalProperties = make(map[string]interface{}) + } + ms.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ms.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ms.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ms.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ms.Type = typeVar + } + } + } + + return nil +} + +// MicrosoftAccessLinkedService microsoft Access linked service. +type MicrosoftAccessLinkedService struct { + // MicrosoftAccessLinkedServiceTypeProperties - Microsoft Access linked service properties. + *MicrosoftAccessLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) MarshalJSON() ([]byte, error) { + mals.Type = TypeMicrosoftAccess + objectMap := make(map[string]interface{}) + if mals.MicrosoftAccessLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mals.MicrosoftAccessLinkedServiceTypeProperties + } + if mals.ConnectVia != nil { + objectMap["connectVia"] = mals.ConnectVia + } + if mals.Description != nil { + objectMap["description"] = mals.Description + } + if mals.Parameters != nil { + objectMap["parameters"] = mals.Parameters + } + if mals.Annotations != nil { + objectMap["annotations"] = mals.Annotations + } + if mals.Type != "" { + objectMap["type"] = mals.Type + } + for k, v := range mals.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return &mals, true +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mals, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedService struct. +func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var microsoftAccessLinkedServiceTypeProperties MicrosoftAccessLinkedServiceTypeProperties + err = json.Unmarshal(*v, µsoftAccessLinkedServiceTypeProperties) + if err != nil { + return err + } + mals.MicrosoftAccessLinkedServiceTypeProperties = µsoftAccessLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mals.AdditionalProperties == nil { + mals.AdditionalProperties = make(map[string]interface{}) + } + mals.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mals.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mals.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mals.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mals.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mals.Type = typeVar + } + } + } + + return nil +} + +// MicrosoftAccessLinkedServiceTypeProperties microsoft Access linked service properties. +type MicrosoftAccessLinkedServiceTypeProperties struct { + // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // 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). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Credential - The access credential portion of the connection string specified in driver-specific property-value format. + Credential BasicSecretBase `json:"credential,omitempty"` + // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedServiceTypeProperties struct. +func (malstp *MicrosoftAccessLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + malstp.ConnectionString = connectionString + } + case "authenticationType": + if v != nil { + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + malstp.AuthenticationType = authenticationType + } + case "credential": + if v != nil { + credential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + malstp.Credential = credential + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + malstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + malstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + malstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// MicrosoftAccessSink a copy activity Microsoft Access sink. +type MicrosoftAccessSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) MarshalJSON() ([]byte, error) { + mas.Type = TypeMicrosoftAccessSink + objectMap := make(map[string]interface{}) + if mas.PreCopyScript != nil { + objectMap["preCopyScript"] = mas.PreCopyScript + } + if mas.WriteBatchSize != nil { + objectMap["writeBatchSize"] = mas.WriteBatchSize + } + if mas.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = mas.WriteBatchTimeout + } + if mas.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = mas.SinkRetryCount + } + if mas.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = mas.SinkRetryWait + } + if mas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections + } + if mas.Type != "" { + objectMap["type"] = mas.Type + } + for k, v := range mas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return &mas, true +} + +// AsInformixSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsBasicCopySink() (BasicCopySink, bool) { + return &mas, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSink struct. +func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + mas.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mas.AdditionalProperties == nil { + mas.AdditionalProperties = make(map[string]interface{}) + } + mas.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + mas.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + mas.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + mas.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + mas.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + mas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mas.Type = typeVar + } + } + } + + return nil +} + +// MicrosoftAccessSource a copy activity source for Microsoft Access. +type MicrosoftAccessSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) MarshalJSON() ([]byte, error) { + mas.Type = TypeMicrosoftAccessSource + objectMap := make(map[string]interface{}) + if mas.Query != nil { + objectMap["query"] = mas.Query + } + if mas.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mas.SourceRetryCount + } + if mas.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mas.SourceRetryWait + } + if mas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections + } + if mas.Type != "" { + objectMap["type"] = mas.Type + } + for k, v := range mas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return &mas, true +} + +// AsRelationalSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mas, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSource struct. +func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + mas.Query = query + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mas.AdditionalProperties == nil { + mas.AdditionalProperties = make(map[string]interface{}) + } + mas.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + mas.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + mas.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + mas.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mas.Type = typeVar + } + } + } + + return nil +} + +// MicrosoftAccessTableDataset the Microsoft Access table dataset. +type MicrosoftAccessTableDataset struct { + // MicrosoftAccessTableDatasetTypeProperties - Microsoft Access table dataset properties. + *MicrosoftAccessTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) MarshalJSON() ([]byte, error) { + matd.Type = TypeMicrosoftAccessTable + objectMap := make(map[string]interface{}) + if matd.MicrosoftAccessTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = matd.MicrosoftAccessTableDatasetTypeProperties + } + if matd.Description != nil { + objectMap["description"] = matd.Description + } + if matd.Structure != nil { + objectMap["structure"] = matd.Structure + } + if matd.Schema != nil { + objectMap["schema"] = matd.Schema + } + if matd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = matd.LinkedServiceName + } + if matd.Parameters != nil { + objectMap["parameters"] = matd.Parameters + } + if matd.Annotations != nil { + objectMap["annotations"] = matd.Annotations + } + if matd.Folder != nil { + objectMap["folder"] = matd.Folder + } + if matd.Type != "" { + objectMap["type"] = matd.Type + } + for k, v := range matd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return &matd, true +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &matd, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessTableDataset struct. +func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var microsoftAccessTableDatasetTypeProperties MicrosoftAccessTableDatasetTypeProperties + err = json.Unmarshal(*v, µsoftAccessTableDatasetTypeProperties) + if err != nil { + return err + } + matd.MicrosoftAccessTableDatasetTypeProperties = µsoftAccessTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if matd.AdditionalProperties == nil { + matd.AdditionalProperties = make(map[string]interface{}) + } + matd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + matd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + matd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + matd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + matd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + matd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + matd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + matd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + matd.Type = typeVar + } + } + } + + return nil +} + +// MicrosoftAccessTableDatasetTypeProperties microsoft Access table dataset properties. +type MicrosoftAccessTableDatasetTypeProperties struct { + // TableName - The Microsoft Access table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// MongoDbCollectionDataset the MongoDB database dataset. +type MongoDbCollectionDataset struct { + // MongoDbCollectionDatasetTypeProperties - MongoDB database dataset properties. + *MongoDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) MarshalJSON() ([]byte, error) { + mdcd.Type = TypeMongoDbCollection + objectMap := make(map[string]interface{}) + if mdcd.MongoDbCollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = mdcd.MongoDbCollectionDatasetTypeProperties + } + if mdcd.Description != nil { + objectMap["description"] = mdcd.Description + } + if mdcd.Structure != nil { + objectMap["structure"] = mdcd.Structure + } + if mdcd.Schema != nil { + objectMap["schema"] = mdcd.Schema + } + if mdcd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mdcd.LinkedServiceName + } + if mdcd.Parameters != nil { + objectMap["parameters"] = mdcd.Parameters + } + if mdcd.Annotations != nil { + objectMap["annotations"] = mdcd.Annotations + } + if mdcd.Folder != nil { + objectMap["folder"] = mdcd.Folder + } + if mdcd.Type != "" { + objectMap["type"] = mdcd.Type + } + for k, v := range mdcd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return &mdcd, true +} + +// AsOffice365Dataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &mdcd, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbCollectionDataset struct. +func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mongoDbCollectionDatasetTypeProperties MongoDbCollectionDatasetTypeProperties + err = json.Unmarshal(*v, &mongoDbCollectionDatasetTypeProperties) + if err != nil { + return err + } + mdcd.MongoDbCollectionDatasetTypeProperties = &mongoDbCollectionDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdcd.AdditionalProperties == nil { + mdcd.AdditionalProperties = make(map[string]interface{}) + } + mdcd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mdcd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + mdcd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + mdcd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + mdcd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mdcd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdcd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mdcd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdcd.Type = typeVar + } + } + } + + return nil +} + +// MongoDbCollectionDatasetTypeProperties mongoDB database dataset properties. +type MongoDbCollectionDatasetTypeProperties struct { + // CollectionName - The table name of the MongoDB database. Type: string (or Expression with resultType string). + CollectionName interface{} `json:"collectionName,omitempty"` +} + +// MongoDbCursorMethodsProperties cursor methods for Mongodb query +type MongoDbCursorMethodsProperties struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // 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). + Project interface{} `json:"project,omitempty"` + // 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). + Sort interface{} `json:"sort,omitempty"` + // 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). + Skip interface{} `json:"skip,omitempty"` + // 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). + Limit interface{} `json:"limit,omitempty"` +} + +// MarshalJSON is the custom marshaler for MongoDbCursorMethodsProperties. +func (mdcmp MongoDbCursorMethodsProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mdcmp.Project != nil { + objectMap["project"] = mdcmp.Project + } + if mdcmp.Sort != nil { + objectMap["sort"] = mdcmp.Sort + } + if mdcmp.Skip != nil { + objectMap["skip"] = mdcmp.Skip + } + if mdcmp.Limit != nil { + objectMap["limit"] = mdcmp.Limit + } + for k, v := range mdcmp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbCursorMethodsProperties struct. +func (mdcmp *MongoDbCursorMethodsProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdcmp.AdditionalProperties == nil { + mdcmp.AdditionalProperties = make(map[string]interface{}) + } + mdcmp.AdditionalProperties[k] = additionalProperties + } + case "project": + if v != nil { + var project interface{} + err = json.Unmarshal(*v, &project) + if err != nil { + return err + } + mdcmp.Project = project + } + case "sort": + if v != nil { + var sortVar interface{} + err = json.Unmarshal(*v, &sortVar) + if err != nil { + return err + } + mdcmp.Sort = sortVar + } + case "skip": + if v != nil { + var skip interface{} + err = json.Unmarshal(*v, &skip) + if err != nil { + return err + } + mdcmp.Skip = skip + } + case "limit": + if v != nil { + var limit interface{} + err = json.Unmarshal(*v, &limit) + if err != nil { + return err + } + mdcmp.Limit = limit + } + } + } + + return nil +} + +// MongoDbLinkedService linked service for MongoDb data source. +type MongoDbLinkedService struct { + // MongoDbLinkedServiceTypeProperties - MongoDB linked service properties. + *MongoDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MongoDbLinkedService. +func (mdls MongoDbLinkedService) MarshalJSON() ([]byte, error) { + mdls.Type = TypeMongoDb + objectMap := make(map[string]interface{}) + if mdls.MongoDbLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mdls.MongoDbLinkedServiceTypeProperties + } + if mdls.ConnectVia != nil { + objectMap["connectVia"] = mdls.ConnectVia + } + if mdls.Description != nil { + objectMap["description"] = mdls.Description + } + if mdls.Parameters != nil { + objectMap["parameters"] = mdls.Parameters + } + if mdls.Annotations != nil { + objectMap["annotations"] = mdls.Annotations + } + if mdls.Type != "" { + objectMap["type"] = mdls.Type + } + for k, v := range mdls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return &mdls, true +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mdls, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedService struct. +func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mongoDbLinkedServiceTypeProperties MongoDbLinkedServiceTypeProperties + err = json.Unmarshal(*v, &mongoDbLinkedServiceTypeProperties) + if err != nil { + return err + } + mdls.MongoDbLinkedServiceTypeProperties = &mongoDbLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdls.AdditionalProperties == nil { + mdls.AdditionalProperties = make(map[string]interface{}) + } + mdls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mdls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mdls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mdls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdls.Type = typeVar + } + } + } + + return nil +} + +// MongoDbLinkedServiceTypeProperties mongoDB linked service properties. +type MongoDbLinkedServiceTypeProperties struct { + // Server - The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the MongoDB database. Possible values include: 'MongoDbAuthenticationTypeBasic', 'MongoDbAuthenticationTypeAnonymous' + AuthenticationType MongoDbAuthenticationType `json:"authenticationType,omitempty"` + // DatabaseName - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). + DatabaseName interface{} `json:"databaseName,omitempty"` + // Username - Username for authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password for authentication. + Password BasicSecretBase `json:"password,omitempty"` + // AuthSource - Database to verify the username and password. Type: string (or Expression with resultType string). + AuthSource interface{} `json:"authSource,omitempty"` + // 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. + Port interface{} `json:"port,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean). + EnableSsl interface{} `json:"enableSsl,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean). + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedServiceTypeProperties struct. +func (mdlstp *MongoDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + mdlstp.Server = server + } + case "authenticationType": + if v != nil { + var authenticationType MongoDbAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + mdlstp.AuthenticationType = authenticationType + } + case "databaseName": + if v != nil { + var databaseName interface{} + err = json.Unmarshal(*v, &databaseName) + if err != nil { + return err + } + mdlstp.DatabaseName = databaseName + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + mdlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + mdlstp.Password = password + } + case "authSource": + if v != nil { + var authSource interface{} + err = json.Unmarshal(*v, &authSource) + if err != nil { + return err + } + mdlstp.AuthSource = authSource + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + mdlstp.Port = port + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + mdlstp.EnableSsl = enableSsl + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + mdlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + mdlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// MongoDbSource a copy activity source for a MongoDB database. +type MongoDbSource struct { + // Query - Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MongoDbSource. +func (mds MongoDbSource) MarshalJSON() ([]byte, error) { + mds.Type = TypeMongoDbSource + objectMap := make(map[string]interface{}) + if mds.Query != nil { + objectMap["query"] = mds.Query + } + if mds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mds.SourceRetryCount + } + if mds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mds.SourceRetryWait + } + if mds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections + } + if mds.Type != "" { + objectMap["type"] = mds.Type + } + for k, v := range mds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMongoDbSource() (*MongoDbSource, bool) { + return &mds, true +} + +// AsWebSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mds, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbSource struct. +func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + mds.Query = query + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mds.AdditionalProperties == nil { + mds.AdditionalProperties = make(map[string]interface{}) + } + mds.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + mds.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + mds.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + mds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mds.Type = typeVar + } + } + } + + return nil +} + +// MongoDbV2CollectionDataset the MongoDB database dataset. +type MongoDbV2CollectionDataset struct { + // MongoDbV2CollectionDatasetTypeProperties - MongoDB database dataset properties. + *MongoDbV2CollectionDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) MarshalJSON() ([]byte, error) { + mdvcd.Type = TypeMongoDbV2Collection + objectMap := make(map[string]interface{}) + if mdvcd.MongoDbV2CollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = mdvcd.MongoDbV2CollectionDatasetTypeProperties + } + if mdvcd.Description != nil { + objectMap["description"] = mdvcd.Description + } + if mdvcd.Structure != nil { + objectMap["structure"] = mdvcd.Structure + } + if mdvcd.Schema != nil { + objectMap["schema"] = mdvcd.Schema + } + if mdvcd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mdvcd.LinkedServiceName + } + if mdvcd.Parameters != nil { + objectMap["parameters"] = mdvcd.Parameters + } + if mdvcd.Annotations != nil { + objectMap["annotations"] = mdvcd.Annotations + } + if mdvcd.Folder != nil { + objectMap["folder"] = mdvcd.Folder + } + if mdvcd.Type != "" { + objectMap["type"] = mdvcd.Type + } + for k, v := range mdvcd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return &mdvcd, true +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &mdvcd, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbV2CollectionDataset struct. +func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mongoDbV2CollectionDatasetTypeProperties MongoDbV2CollectionDatasetTypeProperties + err = json.Unmarshal(*v, &mongoDbV2CollectionDatasetTypeProperties) + if err != nil { + return err + } + mdvcd.MongoDbV2CollectionDatasetTypeProperties = &mongoDbV2CollectionDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdvcd.AdditionalProperties == nil { + mdvcd.AdditionalProperties = make(map[string]interface{}) + } + mdvcd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mdvcd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + mdvcd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + mdvcd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + mdvcd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mdvcd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdvcd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mdvcd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdvcd.Type = typeVar + } + } + } + + return nil +} + +// MongoDbV2CollectionDatasetTypeProperties mongoDB database dataset properties. +type MongoDbV2CollectionDatasetTypeProperties struct { + // Collection - The collection name of the MongoDB database. Type: string (or Expression with resultType string). + Collection interface{} `json:"collection,omitempty"` +} + +// MongoDbV2LinkedService linked service for MongoDB data source. +type MongoDbV2LinkedService struct { + // MongoDbV2LinkedServiceTypeProperties - MongoDB linked service properties. + *MongoDbV2LinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) MarshalJSON() ([]byte, error) { + mdvls.Type = TypeMongoDbV2 + objectMap := make(map[string]interface{}) + if mdvls.MongoDbV2LinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mdvls.MongoDbV2LinkedServiceTypeProperties + } + if mdvls.ConnectVia != nil { + objectMap["connectVia"] = mdvls.ConnectVia + } + if mdvls.Description != nil { + objectMap["description"] = mdvls.Description + } + if mdvls.Parameters != nil { + objectMap["parameters"] = mdvls.Parameters + } + if mdvls.Annotations != nil { + objectMap["annotations"] = mdvls.Annotations + } + if mdvls.Type != "" { + objectMap["type"] = mdvls.Type + } + for k, v := range mdvls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return &mdvls, true +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mdvls, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbV2LinkedService struct. +func (mdvls *MongoDbV2LinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mongoDbV2LinkedServiceTypeProperties MongoDbV2LinkedServiceTypeProperties + err = json.Unmarshal(*v, &mongoDbV2LinkedServiceTypeProperties) + if err != nil { + return err + } + mdvls.MongoDbV2LinkedServiceTypeProperties = &mongoDbV2LinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdvls.AdditionalProperties == nil { + mdvls.AdditionalProperties = make(map[string]interface{}) + } + mdvls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mdvls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mdvls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mdvls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdvls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdvls.Type = typeVar + } + } + } + + return nil +} + +// MongoDbV2LinkedServiceTypeProperties mongoDB linked service properties. +type MongoDbV2LinkedServiceTypeProperties struct { + // ConnectionString - The MongoDB connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Database - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` +} + +// MongoDbV2Source a copy activity source for a MongoDB database. +type MongoDbV2Source struct { + // 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). + Filter interface{} `json:"filter,omitempty"` + // CursorMethods - Cursor methods for Mongodb query + CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"` + // 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). + BatchSize interface{} `json:"batchSize,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MongoDbV2Source. +func (mdvs MongoDbV2Source) MarshalJSON() ([]byte, error) { + mdvs.Type = TypeMongoDbV2Source + objectMap := make(map[string]interface{}) + if mdvs.Filter != nil { + objectMap["filter"] = mdvs.Filter + } + if mdvs.CursorMethods != nil { + objectMap["cursorMethods"] = mdvs.CursorMethods + } + if mdvs.BatchSize != nil { + objectMap["batchSize"] = mdvs.BatchSize + } + if mdvs.QueryTimeout != nil { + objectMap["queryTimeout"] = mdvs.QueryTimeout + } + if mdvs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mdvs.SourceRetryCount + } + if mdvs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mdvs.SourceRetryWait + } + if mdvs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mdvs.MaxConcurrentConnections + } + if mdvs.Type != "" { + objectMap["type"] = mdvs.Type + } + for k, v := range mdvs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return &mdvs, true +} + +// AsMongoDbSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBasicCopySource() (BasicCopySource, bool) { + return &mdvs, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbV2Source struct. +func (mdvs *MongoDbV2Source) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "filter": + if v != nil { + var filter interface{} + err = json.Unmarshal(*v, &filter) + if err != nil { + return err + } + mdvs.Filter = filter + } + case "cursorMethods": + if v != nil { + var cursorMethods MongoDbCursorMethodsProperties + err = json.Unmarshal(*v, &cursorMethods) + if err != nil { + return err + } + mdvs.CursorMethods = &cursorMethods + } + case "batchSize": + if v != nil { + var batchSize interface{} + err = json.Unmarshal(*v, &batchSize) + if err != nil { + return err + } + mdvs.BatchSize = batchSize + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + mdvs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mdvs.AdditionalProperties == nil { + mdvs.AdditionalProperties = make(map[string]interface{}) + } + mdvs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + mdvs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + mdvs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + mdvs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdvs.Type = typeVar + } + } + } + + return nil +} + +// BasicMultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline. +type BasicMultiplePipelineTrigger interface { + AsBlobEventsTrigger() (*BlobEventsTrigger, bool) + AsBlobTrigger() (*BlobTrigger, bool) + AsScheduleTrigger() (*ScheduleTrigger, bool) + AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) +} + +// MultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline. +type MultiplePipelineTrigger struct { + // Pipelines - Pipelines that need to be started. + Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +func unmarshalBasicMultiplePipelineTrigger(body []byte) (BasicMultiplePipelineTrigger, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeBlobEventsTrigger): + var bet BlobEventsTrigger + err := json.Unmarshal(body, &bet) + return bet, err + case string(TypeBlobTrigger): + var bt BlobTrigger + err := json.Unmarshal(body, &bt) + return bt, err + case string(TypeScheduleTrigger): + var st ScheduleTrigger + err := json.Unmarshal(body, &st) + return st, err + default: + var mpt MultiplePipelineTrigger + err := json.Unmarshal(body, &mpt) + return mpt, err + } +} +func unmarshalBasicMultiplePipelineTriggerArray(body []byte) ([]BasicMultiplePipelineTrigger, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + mptArray := make([]BasicMultiplePipelineTrigger, len(rawMessages)) + + for index, rawMessage := range rawMessages { + mpt, err := unmarshalBasicMultiplePipelineTrigger(*rawMessage) + if err != nil { + return nil, err + } + mptArray[index] = mpt + } + return mptArray, nil +} + +// MarshalJSON is the custom marshaler for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) MarshalJSON() ([]byte, error) { + mpt.Type = TypeMultiplePipelineTrigger + objectMap := make(map[string]interface{}) + if mpt.Pipelines != nil { + objectMap["pipelines"] = mpt.Pipelines + } + if mpt.Description != nil { + objectMap["description"] = mpt.Description + } + if mpt.Annotations != nil { + objectMap["annotations"] = mpt.Annotations + } + if mpt.Type != "" { + objectMap["type"] = mpt.Type + } + for k, v := range mpt.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return &mpt, true +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return &mpt, true +} + +// AsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &mpt, true +} + +// UnmarshalJSON is the custom unmarshaler for MultiplePipelineTrigger struct. +func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "pipelines": + if v != nil { + var pipelines []TriggerPipelineReference + err = json.Unmarshal(*v, &pipelines) + if err != nil { + return err + } + mpt.Pipelines = &pipelines + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mpt.AdditionalProperties == nil { + mpt.AdditionalProperties = make(map[string]interface{}) + } + mpt.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mpt.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + mpt.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mpt.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mpt.Type = typeVar + } + } + } + + return nil +} + +// MySQLLinkedService linked service for MySQL data source. +type MySQLLinkedService struct { + // MySQLLinkedServiceTypeProperties - MySQL linked service properties. + *MySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MySQLLinkedService. +func (msls MySQLLinkedService) MarshalJSON() ([]byte, error) { + msls.Type = TypeMySQL + objectMap := make(map[string]interface{}) + if msls.MySQLLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = msls.MySQLLinkedServiceTypeProperties + } + if msls.ConnectVia != nil { + objectMap["connectVia"] = msls.ConnectVia + } + if msls.Description != nil { + objectMap["description"] = msls.Description + } + if msls.Parameters != nil { + objectMap["parameters"] = msls.Parameters + } + if msls.Annotations != nil { + objectMap["annotations"] = msls.Annotations + } + if msls.Type != "" { + objectMap["type"] = msls.Type + } + for k, v := range msls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return &msls, true +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &msls, true +} + +// UnmarshalJSON is the custom unmarshaler for MySQLLinkedService struct. +func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mySQLLinkedServiceTypeProperties MySQLLinkedServiceTypeProperties + err = json.Unmarshal(*v, &mySQLLinkedServiceTypeProperties) + if err != nil { + return err + } + msls.MySQLLinkedServiceTypeProperties = &mySQLLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if msls.AdditionalProperties == nil { + msls.AdditionalProperties = make(map[string]interface{}) + } + msls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + msls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + msls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + msls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + msls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + msls.Type = typeVar + } + } + } + + return nil +} + +// MySQLLinkedServiceTypeProperties mySQL linked service properties. +type MySQLLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// MySQLSource a copy activity source for MySQL databases. +type MySQLSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MySQLSource. +func (mss MySQLSource) MarshalJSON() ([]byte, error) { + mss.Type = TypeMySQLSource + objectMap := make(map[string]interface{}) + if mss.Query != nil { + objectMap["query"] = mss.Query + } + if mss.QueryTimeout != nil { + objectMap["queryTimeout"] = mss.QueryTimeout + } + if mss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mss.SourceRetryCount + } + if mss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mss.SourceRetryWait + } + if mss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mss.MaxConcurrentConnections + } + if mss.Type != "" { + objectMap["type"] = mss.Type + } + for k, v := range mss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMySQLSource() (*MySQLSource, bool) { + return &mss, true +} + +// AsOdbcSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &mss, true +} + +// AsBinarySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mss, true +} + +// UnmarshalJSON is the custom unmarshaler for MySQLSource struct. +func (mss *MySQLSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + mss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + mss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mss.AdditionalProperties == nil { + mss.AdditionalProperties = make(map[string]interface{}) + } + mss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + mss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + mss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + mss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mss.Type = typeVar + } + } + } + + return nil +} + +// MySQLTableDataset the MySQL table dataset. +type MySQLTableDataset struct { + // MySQLTableDatasetTypeProperties - MySQL table dataset properties. + *MySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MySQLTableDataset. +func (mstd MySQLTableDataset) MarshalJSON() ([]byte, error) { + mstd.Type = TypeMySQLTable + objectMap := make(map[string]interface{}) + if mstd.MySQLTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = mstd.MySQLTableDatasetTypeProperties + } + if mstd.Description != nil { + objectMap["description"] = mstd.Description + } + if mstd.Structure != nil { + objectMap["structure"] = mstd.Structure + } + if mstd.Schema != nil { + objectMap["schema"] = mstd.Schema + } + if mstd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mstd.LinkedServiceName + } + if mstd.Parameters != nil { + objectMap["parameters"] = mstd.Parameters + } + if mstd.Annotations != nil { + objectMap["annotations"] = mstd.Annotations + } + if mstd.Folder != nil { + objectMap["folder"] = mstd.Folder + } + if mstd.Type != "" { + objectMap["type"] = mstd.Type + } + for k, v := range mstd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return &mstd, true +} + +// AsOdbcTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &mstd, true +} + +// UnmarshalJSON is the custom unmarshaler for MySQLTableDataset struct. +func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var mySQLTableDatasetTypeProperties MySQLTableDatasetTypeProperties + err = json.Unmarshal(*v, &mySQLTableDatasetTypeProperties) + if err != nil { + return err + } + mstd.MySQLTableDatasetTypeProperties = &mySQLTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mstd.AdditionalProperties == nil { + mstd.AdditionalProperties = make(map[string]interface{}) + } + mstd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mstd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + mstd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + mstd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + mstd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + mstd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mstd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mstd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mstd.Type = typeVar + } + } + } + + return nil +} + +// MySQLTableDatasetTypeProperties mySql table dataset properties. +type MySQLTableDatasetTypeProperties struct { + // TableName - The MySQL table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// NetezzaLinkedService netezza linked service. +type NetezzaLinkedService struct { + // NetezzaLinkedServiceTypeProperties - Netezza linked service properties. + *NetezzaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for NetezzaLinkedService. +func (nls NetezzaLinkedService) MarshalJSON() ([]byte, error) { + nls.Type = TypeNetezza + objectMap := make(map[string]interface{}) + if nls.NetezzaLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = nls.NetezzaLinkedServiceTypeProperties + } + if nls.ConnectVia != nil { + objectMap["connectVia"] = nls.ConnectVia + } + if nls.Description != nil { + objectMap["description"] = nls.Description + } + if nls.Parameters != nil { + objectMap["parameters"] = nls.Parameters + } + if nls.Annotations != nil { + objectMap["annotations"] = nls.Annotations + } + if nls.Type != "" { + objectMap["type"] = nls.Type + } + for k, v := range nls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return &nls, true +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &nls, true +} + +// UnmarshalJSON is the custom unmarshaler for NetezzaLinkedService struct. +func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var netezzaLinkedServiceTypeProperties NetezzaLinkedServiceTypeProperties + err = json.Unmarshal(*v, &netezzaLinkedServiceTypeProperties) + if err != nil { + return err + } + nls.NetezzaLinkedServiceTypeProperties = &netezzaLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if nls.AdditionalProperties == nil { + nls.AdditionalProperties = make(map[string]interface{}) + } + nls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + nls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + nls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + nls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + nls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + nls.Type = typeVar + } + } + } + + return nil +} + +// NetezzaLinkedServiceTypeProperties netezza linked service properties. +type NetezzaLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// NetezzaPartitionSettings the settings that will be leveraged for Netezza source partitioning. +type NetezzaPartitionSettings struct { + // PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` + // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` + // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` +} + +// NetezzaSource a copy activity Netezza source. +type NetezzaSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // PartitionOption - The partition mechanism that will be used for Netezza read in parallel. Possible values include: 'NetezzaPartitionOptionNone', 'NetezzaPartitionOptionDataSlice', 'NetezzaPartitionOptionDynamicRange' + PartitionOption NetezzaPartitionOption `json:"partitionOption,omitempty"` + // PartitionSettings - The settings that will be leveraged for Netezza source partitioning. + PartitionSettings *NetezzaPartitionSettings `json:"partitionSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for NetezzaSource. +func (ns NetezzaSource) MarshalJSON() ([]byte, error) { + ns.Type = TypeNetezzaSource + objectMap := make(map[string]interface{}) + if ns.Query != nil { + objectMap["query"] = ns.Query + } + if ns.PartitionOption != "" { + objectMap["partitionOption"] = ns.PartitionOption + } + if ns.PartitionSettings != nil { + objectMap["partitionSettings"] = ns.PartitionSettings + } + if ns.QueryTimeout != nil { + objectMap["queryTimeout"] = ns.QueryTimeout + } + if ns.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ns.SourceRetryCount + } + if ns.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ns.SourceRetryWait + } + if ns.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ns.MaxConcurrentConnections + } + if ns.Type != "" { + objectMap["type"] = ns.Type + } + for k, v := range ns.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsNetezzaSource() (*NetezzaSource, bool) { + return &ns, true +} + +// AsZohoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ns, true +} + +// AsBinarySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ns, true +} + +// UnmarshalJSON is the custom unmarshaler for NetezzaSource struct. +func (ns *NetezzaSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ns.Query = query + } + case "partitionOption": + if v != nil { + var partitionOption NetezzaPartitionOption + err = json.Unmarshal(*v, &partitionOption) + if err != nil { + return err + } + ns.PartitionOption = partitionOption + } + case "partitionSettings": + if v != nil { + var partitionSettings NetezzaPartitionSettings + err = json.Unmarshal(*v, &partitionSettings) + if err != nil { + return err + } + ns.PartitionSettings = &partitionSettings + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ns.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ns.AdditionalProperties == nil { + ns.AdditionalProperties = make(map[string]interface{}) + } + ns.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ns.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ns.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ns.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ns.Type = typeVar + } + } + } + + return nil +} + +// NetezzaTableDataset netezza dataset. +type NetezzaTableDataset struct { + // NetezzaTableDatasetTypeProperties - Properties specific to this dataset type. + *NetezzaTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for NetezzaTableDataset. +func (ntd NetezzaTableDataset) MarshalJSON() ([]byte, error) { + ntd.Type = TypeNetezzaTable + objectMap := make(map[string]interface{}) + if ntd.NetezzaTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = ntd.NetezzaTableDatasetTypeProperties + } + if ntd.Description != nil { + objectMap["description"] = ntd.Description + } + if ntd.Structure != nil { + objectMap["structure"] = ntd.Structure + } + if ntd.Schema != nil { + objectMap["schema"] = ntd.Schema + } + if ntd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ntd.LinkedServiceName + } + if ntd.Parameters != nil { + objectMap["parameters"] = ntd.Parameters + } + if ntd.Annotations != nil { + objectMap["annotations"] = ntd.Annotations + } + if ntd.Folder != nil { + objectMap["folder"] = ntd.Folder + } + if ntd.Type != "" { + objectMap["type"] = ntd.Type + } + for k, v := range ntd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return &ntd, true +} + +// AsZohoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &ntd, true +} + +// UnmarshalJSON is the custom unmarshaler for NetezzaTableDataset struct. +func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var netezzaTableDatasetTypeProperties NetezzaTableDatasetTypeProperties + err = json.Unmarshal(*v, &netezzaTableDatasetTypeProperties) + if err != nil { + return err + } + ntd.NetezzaTableDatasetTypeProperties = &netezzaTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ntd.AdditionalProperties == nil { + ntd.AdditionalProperties = make(map[string]interface{}) + } + ntd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ntd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + ntd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ntd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ntd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ntd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ntd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ntd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ntd.Type = typeVar + } + } + } + + return nil +} + +// NetezzaTableDatasetTypeProperties netezza dataset properties. +type NetezzaTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Netezza. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Netezza. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// Notebook notebook. +type Notebook struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - The description of the notebook. + Description *string `json:"description,omitempty"` + // BigDataPool - Big data pool reference. + BigDataPool *BigDataPoolReference `json:"bigDataPool,omitempty"` + // SessionProperties - Session properties. + SessionProperties *NotebookSessionProperties `json:"sessionProperties,omitempty"` + // Metadata - Notebook root-level metadata. + Metadata *NotebookMetadata `json:"metadata,omitempty"` + // Nbformat - Notebook format (major number). Incremented between backwards incompatible changes to the notebook format. + Nbformat *int32 `json:"nbformat,omitempty"` + // NbformatMinor - Notebook format (minor number). Incremented for backward compatible changes to the notebook format. + NbformatMinor *int32 `json:"nbformat_minor,omitempty"` + // Cells - Array of cells of the current notebook. + Cells *[]NotebookCell `json:"cells,omitempty"` +} + +// MarshalJSON is the custom marshaler for Notebook. +func (n Notebook) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if n.Description != nil { + objectMap["description"] = n.Description + } + if n.BigDataPool != nil { + objectMap["bigDataPool"] = n.BigDataPool + } + if n.SessionProperties != nil { + objectMap["sessionProperties"] = n.SessionProperties + } + if n.Metadata != nil { + objectMap["metadata"] = n.Metadata + } + if n.Nbformat != nil { + objectMap["nbformat"] = n.Nbformat + } + if n.NbformatMinor != nil { + objectMap["nbformat_minor"] = n.NbformatMinor + } + if n.Cells != nil { + objectMap["cells"] = n.Cells + } + for k, v := range n.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Notebook struct. +func (n *Notebook) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if n.AdditionalProperties == nil { + n.AdditionalProperties = make(map[string]interface{}) + } + n.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + n.Description = &description + } + case "bigDataPool": + if v != nil { + var bigDataPool BigDataPoolReference + err = json.Unmarshal(*v, &bigDataPool) + if err != nil { + return err + } + n.BigDataPool = &bigDataPool + } + case "sessionProperties": + if v != nil { + var sessionProperties NotebookSessionProperties + err = json.Unmarshal(*v, &sessionProperties) + if err != nil { + return err + } + n.SessionProperties = &sessionProperties + } + case "metadata": + if v != nil { + var metadata NotebookMetadata + err = json.Unmarshal(*v, &metadata) + if err != nil { + return err + } + n.Metadata = &metadata + } + case "nbformat": + if v != nil { + var nbformat int32 + err = json.Unmarshal(*v, &nbformat) + if err != nil { + return err + } + n.Nbformat = &nbformat + } + case "nbformat_minor": + if v != nil { + var nbformatMinor int32 + err = json.Unmarshal(*v, &nbformatMinor) + if err != nil { + return err + } + n.NbformatMinor = &nbformatMinor + } + case "cells": + if v != nil { + var cells []NotebookCell + err = json.Unmarshal(*v, &cells) + if err != nil { + return err + } + n.Cells = &cells + } + } + } + + return nil +} + +// NotebookCell notebook cell. +type NotebookCell struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // CellType - String identifying the type of cell. + CellType *string `json:"cell_type,omitempty"` + // Metadata - Cell-level metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Source - Contents of the cell, represented as an array of lines. + Source *[]string `json:"source,omitempty"` + // Attachments - Attachments associated with the cell. + Attachments interface{} `json:"attachments,omitempty"` + // Outputs - Cell-level output items. + Outputs *[]NotebookCellOutputItem `json:"outputs,omitempty"` +} + +// MarshalJSON is the custom marshaler for NotebookCell. +func (nc NotebookCell) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if nc.CellType != nil { + objectMap["cell_type"] = nc.CellType + } + if nc.Metadata != nil { + objectMap["metadata"] = nc.Metadata + } + if nc.Source != nil { + objectMap["source"] = nc.Source + } + if nc.Attachments != nil { + objectMap["attachments"] = nc.Attachments + } + if nc.Outputs != nil { + objectMap["outputs"] = nc.Outputs + } + for k, v := range nc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NotebookCell struct. +func (nc *NotebookCell) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if nc.AdditionalProperties == nil { + nc.AdditionalProperties = make(map[string]interface{}) + } + nc.AdditionalProperties[k] = additionalProperties + } + case "cell_type": + if v != nil { + var cellType string + err = json.Unmarshal(*v, &cellType) + if err != nil { + return err + } + nc.CellType = &cellType + } + case "metadata": + if v != nil { + var metadata interface{} + err = json.Unmarshal(*v, &metadata) + if err != nil { + return err + } + nc.Metadata = metadata + } + case "source": + if v != nil { + var source []string + err = json.Unmarshal(*v, &source) + if err != nil { + return err + } + nc.Source = &source + } + case "attachments": + if v != nil { + var attachments interface{} + err = json.Unmarshal(*v, &attachments) + if err != nil { + return err + } + nc.Attachments = attachments + } + case "outputs": + if v != nil { + var outputs []NotebookCellOutputItem + err = json.Unmarshal(*v, &outputs) + if err != nil { + return err + } + nc.Outputs = &outputs + } + } + } + + return nil +} + +// NotebookCellOutputItem an item of the notebook cell execution output. +type NotebookCellOutputItem struct { + // Name - For output_type=stream, determines the name of stream (stdout / stderr). + Name *string `json:"name,omitempty"` + // ExecutionCount - Execution sequence number. + ExecutionCount *int32 `json:"execution_count,omitempty"` + // OutputType - Execution, display, or stream outputs. Possible values include: 'ExecuteResult', 'DisplayData', 'Stream', 'Error' + OutputType CellOutputType `json:"output_type,omitempty"` + // Text - For output_type=stream, the stream's text output, represented as a string or an array of strings. + Text interface{} `json:"text,omitempty"` + // Data - Output data. Use MIME type as key, and content as value. + Data interface{} `json:"data,omitempty"` + // Metadata - Metadata for the output item. + Metadata interface{} `json:"metadata,omitempty"` +} + +// NotebookKernelSpec kernel information. +type NotebookKernelSpec struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Name of the kernel specification. + Name *string `json:"name,omitempty"` + // DisplayName - Name to display in UI. + DisplayName *string `json:"display_name,omitempty"` +} + +// MarshalJSON is the custom marshaler for NotebookKernelSpec. +func (nks NotebookKernelSpec) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if nks.Name != nil { + objectMap["name"] = nks.Name + } + if nks.DisplayName != nil { + objectMap["display_name"] = nks.DisplayName + } + for k, v := range nks.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NotebookKernelSpec struct. +func (nks *NotebookKernelSpec) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if nks.AdditionalProperties == nil { + nks.AdditionalProperties = make(map[string]interface{}) + } + nks.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + nks.Name = &name + } + case "display_name": + if v != nil { + var displayName string + err = json.Unmarshal(*v, &displayName) + if err != nil { + return err + } + nks.DisplayName = &displayName + } + } + } + + return nil +} + +// NotebookLanguageInfo language info. +type NotebookLanguageInfo struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - The programming language which this kernel runs. + Name *string `json:"name,omitempty"` + // CodemirrorMode - The codemirror mode to use for code in this language. + CodemirrorMode *string `json:"codemirror_mode,omitempty"` +} + +// MarshalJSON is the custom marshaler for NotebookLanguageInfo. +func (nli NotebookLanguageInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if nli.Name != nil { + objectMap["name"] = nli.Name + } + if nli.CodemirrorMode != nil { + objectMap["codemirror_mode"] = nli.CodemirrorMode + } + for k, v := range nli.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NotebookLanguageInfo struct. +func (nli *NotebookLanguageInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if nli.AdditionalProperties == nil { + nli.AdditionalProperties = make(map[string]interface{}) + } + nli.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + nli.Name = &name + } + case "codemirror_mode": + if v != nil { + var codemirrorMode string + err = json.Unmarshal(*v, &codemirrorMode) + if err != nil { + return err + } + nli.CodemirrorMode = &codemirrorMode + } + } + } + + return nil +} + +// NotebookListResponse a list of Notebook resources. +type NotebookListResponse struct { + autorest.Response `json:"-"` + // Value - List of Notebooks. + Value *[]NotebookResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// NotebookListResponseIterator provides access to a complete listing of NotebookResource values. +type NotebookListResponseIterator struct { + i int + page NotebookListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *NotebookListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *NotebookListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter NotebookListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter NotebookListResponseIterator) Response() NotebookListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter NotebookListResponseIterator) Value() NotebookResource { + if !iter.page.NotDone() { + return NotebookResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the NotebookListResponseIterator type. +func NewNotebookListResponseIterator(page NotebookListResponsePage) NotebookListResponseIterator { + return NotebookListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (nlr NotebookListResponse) IsEmpty() bool { + return nlr.Value == nil || len(*nlr.Value) == 0 +} + +// notebookListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (nlr NotebookListResponse) notebookListResponsePreparer(ctx context.Context) (*http.Request, error) { + if nlr.NextLink == nil || len(to.String(nlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(nlr.NextLink))) +} + +// NotebookListResponsePage contains a page of NotebookResource values. +type NotebookListResponsePage struct { + fn func(context.Context, NotebookListResponse) (NotebookListResponse, error) + nlr NotebookListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *NotebookListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.nlr) + if err != nil { + return err + } + page.nlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *NotebookListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page NotebookListResponsePage) NotDone() bool { + return !page.nlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page NotebookListResponsePage) Response() NotebookListResponse { + return page.nlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page NotebookListResponsePage) Values() []NotebookResource { + if page.nlr.IsEmpty() { + return nil + } + return *page.nlr.Value +} + +// Creates a new instance of the NotebookListResponsePage type. +func NewNotebookListResponsePage(getNextPage func(context.Context, NotebookListResponse) (NotebookListResponse, error)) NotebookListResponsePage { + return NotebookListResponsePage{fn: getNextPage} +} + +// NotebookMetadata notebook root-level metadata. +type NotebookMetadata struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Kernelspec - Kernel information. + Kernelspec *NotebookKernelSpec `json:"kernelspec,omitempty"` + // LanguageInfo - Language info. + LanguageInfo *NotebookLanguageInfo `json:"language_info,omitempty"` +} + +// MarshalJSON is the custom marshaler for NotebookMetadata. +func (nm NotebookMetadata) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if nm.Kernelspec != nil { + objectMap["kernelspec"] = nm.Kernelspec + } + if nm.LanguageInfo != nil { + objectMap["language_info"] = nm.LanguageInfo + } + for k, v := range nm.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NotebookMetadata struct. +func (nm *NotebookMetadata) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if nm.AdditionalProperties == nil { + nm.AdditionalProperties = make(map[string]interface{}) + } + nm.AdditionalProperties[k] = additionalProperties + } + case "kernelspec": + if v != nil { + var kernelspec NotebookKernelSpec + err = json.Unmarshal(*v, &kernelspec) + if err != nil { + return err + } + nm.Kernelspec = &kernelspec + } + case "language_info": + if v != nil { + var languageInfo NotebookLanguageInfo + err = json.Unmarshal(*v, &languageInfo) + if err != nil { + return err + } + nm.LanguageInfo = &languageInfo + } + } + } + + return nil +} + +// NotebookResource notebook resource type. +type NotebookResource struct { + autorest.Response `json:"-"` + // Properties - Properties of Notebook. + Properties *Notebook `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// NotebookSessionProperties session properties. +type NotebookSessionProperties struct { + // DriverMemory - Amount of memory to use for the driver process. + DriverMemory *string `json:"driverMemory,omitempty"` + // DriverCores - Number of cores to use for the driver. + DriverCores *int32 `json:"driverCores,omitempty"` + // ExecutorMemory - Amount of memory to use per executor process. + ExecutorMemory *string `json:"executorMemory,omitempty"` + // ExecutorCores - Number of cores to use for each executor. + ExecutorCores *int32 `json:"executorCores,omitempty"` + // NumExecutors - Number of executors to launch for this session. + NumExecutors *int32 `json:"numExecutors,omitempty"` +} + +// ODataLinkedService open Data Protocol (OData) linked service. +type ODataLinkedService struct { + // ODataLinkedServiceTypeProperties - OData linked service properties. + *ODataLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ODataLinkedService. +func (odls ODataLinkedService) MarshalJSON() ([]byte, error) { + odls.Type = TypeOData + objectMap := make(map[string]interface{}) + if odls.ODataLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = odls.ODataLinkedServiceTypeProperties + } + if odls.ConnectVia != nil { + objectMap["connectVia"] = odls.ConnectVia + } + if odls.Description != nil { + objectMap["description"] = odls.Description + } + if odls.Parameters != nil { + objectMap["parameters"] = odls.Parameters + } + if odls.Annotations != nil { + objectMap["annotations"] = odls.Annotations + } + if odls.Type != "" { + objectMap["type"] = odls.Type + } + for k, v := range odls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return &odls, true +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &odls, true +} + +// UnmarshalJSON is the custom unmarshaler for ODataLinkedService struct. +func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var oDataLinkedServiceTypeProperties ODataLinkedServiceTypeProperties + err = json.Unmarshal(*v, &oDataLinkedServiceTypeProperties) + if err != nil { + return err + } + odls.ODataLinkedServiceTypeProperties = &oDataLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if odls.AdditionalProperties == nil { + odls.AdditionalProperties = make(map[string]interface{}) + } + odls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + odls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + odls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + odls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + odls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + odls.Type = typeVar + } + } + } + + return nil +} + +// ODataLinkedServiceTypeProperties oData linked service properties. +type ODataLinkedServiceTypeProperties struct { + // URL - The URL of the OData service endpoint. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Type of authentication used to connect to the OData service. Possible values include: 'ODataAuthenticationTypeBasic', 'ODataAuthenticationTypeAnonymous', 'ODataAuthenticationTypeWindows', 'ODataAuthenticationTypeAadServicePrincipal', 'ODataAuthenticationTypeManagedServiceIdentity' + AuthenticationType ODataAuthenticationType `json:"authenticationType,omitempty"` + // UserName - User name of the OData service. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password of the OData service. + Password BasicSecretBase `json:"password,omitempty"` + // Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // ServicePrincipalID - Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // AadResourceID - Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string). + AadResourceID interface{} `json:"aadResourceId,omitempty"` + // AadServicePrincipalCredentialType - Specify the credential type (key or cert) is used for service principal. Possible values include: 'ODataAadServicePrincipalCredentialTypeServicePrincipalKey', 'ODataAadServicePrincipalCredentialTypeServicePrincipalCert' + AadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType `json:"aadServicePrincipalCredentialType,omitempty"` + // ServicePrincipalKey - Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // ServicePrincipalEmbeddedCert - Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + ServicePrincipalEmbeddedCert BasicSecretBase `json:"servicePrincipalEmbeddedCert,omitempty"` + // 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). + ServicePrincipalEmbeddedCertPassword BasicSecretBase `json:"servicePrincipalEmbeddedCertPassword,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ODataLinkedServiceTypeProperties struct. +func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + odlstp.URL = URL + } + case "authenticationType": + if v != nil { + var authenticationType ODataAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + odlstp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + odlstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.Password = password + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + odlstp.Tenant = tenant + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + odlstp.ServicePrincipalID = servicePrincipalID + } + case "aadResourceId": + if v != nil { + var aadResourceID interface{} + err = json.Unmarshal(*v, &aadResourceID) + if err != nil { + return err + } + odlstp.AadResourceID = aadResourceID + } + case "aadServicePrincipalCredentialType": + if v != nil { + var aadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType + err = json.Unmarshal(*v, &aadServicePrincipalCredentialType) + if err != nil { + return err + } + odlstp.AadServicePrincipalCredentialType = aadServicePrincipalCredentialType + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.ServicePrincipalKey = servicePrincipalKey + } + case "servicePrincipalEmbeddedCert": + if v != nil { + servicePrincipalEmbeddedCert, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.ServicePrincipalEmbeddedCert = servicePrincipalEmbeddedCert + } + case "servicePrincipalEmbeddedCertPassword": + if v != nil { + servicePrincipalEmbeddedCertPassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.ServicePrincipalEmbeddedCertPassword = servicePrincipalEmbeddedCertPassword + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + odlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ODataResourceDataset the Open Data Protocol (OData) resource dataset. +type ODataResourceDataset struct { + // ODataResourceDatasetTypeProperties - OData dataset properties. + *ODataResourceDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ODataResourceDataset. +func (odrd ODataResourceDataset) MarshalJSON() ([]byte, error) { + odrd.Type = TypeODataResource + objectMap := make(map[string]interface{}) + if odrd.ODataResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = odrd.ODataResourceDatasetTypeProperties + } + if odrd.Description != nil { + objectMap["description"] = odrd.Description + } + if odrd.Structure != nil { + objectMap["structure"] = odrd.Structure + } + if odrd.Schema != nil { + objectMap["schema"] = odrd.Schema + } + if odrd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = odrd.LinkedServiceName + } + if odrd.Parameters != nil { + objectMap["parameters"] = odrd.Parameters + } + if odrd.Annotations != nil { + objectMap["annotations"] = odrd.Annotations + } + if odrd.Folder != nil { + objectMap["folder"] = odrd.Folder + } + if odrd.Type != "" { + objectMap["type"] = odrd.Type + } + for k, v := range odrd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return &odrd, true +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &odrd, true +} + +// UnmarshalJSON is the custom unmarshaler for ODataResourceDataset struct. +func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var oDataResourceDatasetTypeProperties ODataResourceDatasetTypeProperties + err = json.Unmarshal(*v, &oDataResourceDatasetTypeProperties) + if err != nil { + return err + } + odrd.ODataResourceDatasetTypeProperties = &oDataResourceDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if odrd.AdditionalProperties == nil { + odrd.AdditionalProperties = make(map[string]interface{}) + } + odrd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + odrd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + odrd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + odrd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + odrd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + odrd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + odrd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + odrd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + odrd.Type = typeVar + } + } + } + + return nil +} + +// ODataResourceDatasetTypeProperties oData dataset properties. +type ODataResourceDatasetTypeProperties struct { + // Path - The OData resource path. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// ODataSource a copy activity source for OData source. +type ODataSource struct { + // Query - OData query. For example, "$top=1". Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ODataSource. +func (ods ODataSource) MarshalJSON() ([]byte, error) { + ods.Type = TypeODataSource + objectMap := make(map[string]interface{}) + if ods.Query != nil { + objectMap["query"] = ods.Query + } + if ods.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ods.SourceRetryCount + } + if ods.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ods.SourceRetryWait + } + if ods.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ods.MaxConcurrentConnections + } + if ods.Type != "" { + objectMap["type"] = ods.Type + } + for k, v := range ods.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsODataSource() (*ODataSource, bool) { + return &ods, true +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ods, true +} + +// UnmarshalJSON is the custom unmarshaler for ODataSource struct. +func (ods *ODataSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ods.Query = query + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ods.AdditionalProperties == nil { + ods.AdditionalProperties = make(map[string]interface{}) + } + ods.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ods.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ods.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ods.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ods.Type = typeVar + } + } + } + + return nil +} + +// OdbcLinkedService open Database Connectivity (ODBC) linked service. +type OdbcLinkedService struct { + // OdbcLinkedServiceTypeProperties - ODBC linked service properties. + *OdbcLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OdbcLinkedService. +func (ols OdbcLinkedService) MarshalJSON() ([]byte, error) { + ols.Type = TypeOdbc + objectMap := make(map[string]interface{}) + if ols.OdbcLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ols.OdbcLinkedServiceTypeProperties + } + if ols.ConnectVia != nil { + objectMap["connectVia"] = ols.ConnectVia + } + if ols.Description != nil { + objectMap["description"] = ols.Description + } + if ols.Parameters != nil { + objectMap["parameters"] = ols.Parameters + } + if ols.Annotations != nil { + objectMap["annotations"] = ols.Annotations + } + if ols.Type != "" { + objectMap["type"] = ols.Type + } + for k, v := range ols.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return &ols, true +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ols, true +} + +// UnmarshalJSON is the custom unmarshaler for OdbcLinkedService struct. +func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var odbcLinkedServiceTypeProperties OdbcLinkedServiceTypeProperties + err = json.Unmarshal(*v, &odbcLinkedServiceTypeProperties) + if err != nil { + return err + } + ols.OdbcLinkedServiceTypeProperties = &odbcLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ols.AdditionalProperties == nil { + ols.AdditionalProperties = make(map[string]interface{}) + } + ols.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ols.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ols.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ols.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ols.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ols.Type = typeVar + } + } + } + + return nil +} + +// OdbcLinkedServiceTypeProperties ODBC linked service properties. +type OdbcLinkedServiceTypeProperties struct { + // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // 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). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Credential - The access credential portion of the connection string specified in driver-specific property-value format. + Credential BasicSecretBase `json:"credential,omitempty"` + // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for OdbcLinkedServiceTypeProperties struct. +func (olstp *OdbcLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + olstp.ConnectionString = connectionString + } + case "authenticationType": + if v != nil { + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + olstp.AuthenticationType = authenticationType + } + case "credential": + if v != nil { + credential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + olstp.Credential = credential + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + olstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + olstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + olstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// OdbcSink a copy activity ODBC sink. +type OdbcSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OdbcSink. +func (osVar OdbcSink) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOdbcSink + objectMap := make(map[string]interface{}) + if osVar.PreCopyScript != nil { + objectMap["preCopyScript"] = osVar.PreCopyScript + } + if osVar.WriteBatchSize != nil { + objectMap["writeBatchSize"] = osVar.WriteBatchSize + } + if osVar.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout + } + if osVar.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = osVar.SinkRetryCount + } + if osVar.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = osVar.SinkRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsOdbcSink() (*OdbcSink, bool) { + return &osVar, true +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsBasicCopySink() (BasicCopySink, bool) { + return &osVar, true +} + +// UnmarshalJSON is the custom unmarshaler for OdbcSink struct. +func (osVar *OdbcSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + osVar.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) + } + osVar.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + osVar.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + osVar.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + osVar.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + osVar.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + osVar.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + osVar.Type = typeVar + } + } + } + + return nil +} + +// OdbcSource a copy activity source for ODBC databases. +type OdbcSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OdbcSource. +func (osVar OdbcSource) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOdbcSource + objectMap := make(map[string]interface{}) + if osVar.Query != nil { + objectMap["query"] = osVar.Query + } + if osVar.QueryTimeout != nil { + objectMap["queryTimeout"] = osVar.QueryTimeout + } + if osVar.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = osVar.SourceRetryCount + } + if osVar.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = osVar.SourceRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOdbcSource() (*OdbcSource, bool) { + return &osVar, true +} + +// AsDb2Source is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &osVar, true +} + +// AsBinarySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBasicCopySource() (BasicCopySource, bool) { + return &osVar, true +} + +// UnmarshalJSON is the custom unmarshaler for OdbcSource struct. +func (osVar *OdbcSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + osVar.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + osVar.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) + } + osVar.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + osVar.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + osVar.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + osVar.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + osVar.Type = typeVar + } + } + } + + return nil +} + +// OdbcTableDataset the ODBC table dataset. +type OdbcTableDataset struct { + // OdbcTableDatasetTypeProperties - ODBC table dataset properties. + *OdbcTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OdbcTableDataset. +func (otd OdbcTableDataset) MarshalJSON() ([]byte, error) { + otd.Type = TypeOdbcTable + objectMap := make(map[string]interface{}) + if otd.OdbcTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = otd.OdbcTableDatasetTypeProperties + } + if otd.Description != nil { + objectMap["description"] = otd.Description + } + if otd.Structure != nil { + objectMap["structure"] = otd.Structure + } + if otd.Schema != nil { + objectMap["schema"] = otd.Schema + } + if otd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = otd.LinkedServiceName + } + if otd.Parameters != nil { + objectMap["parameters"] = otd.Parameters + } + if otd.Annotations != nil { + objectMap["annotations"] = otd.Annotations + } + if otd.Folder != nil { + objectMap["folder"] = otd.Folder + } + if otd.Type != "" { + objectMap["type"] = otd.Type + } + for k, v := range otd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return &otd, true +} + +// AsInformixTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &otd, true +} + +// UnmarshalJSON is the custom unmarshaler for OdbcTableDataset struct. +func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var odbcTableDatasetTypeProperties OdbcTableDatasetTypeProperties + err = json.Unmarshal(*v, &odbcTableDatasetTypeProperties) + if err != nil { + return err + } + otd.OdbcTableDatasetTypeProperties = &odbcTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if otd.AdditionalProperties == nil { + otd.AdditionalProperties = make(map[string]interface{}) + } + otd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + otd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + otd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + otd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + otd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + otd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + otd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + otd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + otd.Type = typeVar + } + } + } + + return nil +} + +// OdbcTableDatasetTypeProperties ODBC table dataset properties. +type OdbcTableDatasetTypeProperties struct { + // TableName - The ODBC table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// Office365Dataset the Office365 account. +type Office365Dataset struct { + // Office365DatasetTypeProperties - Office365 dataset properties. + *Office365DatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Office365Dataset. +func (o3d Office365Dataset) MarshalJSON() ([]byte, error) { + o3d.Type = TypeOffice365Table + objectMap := make(map[string]interface{}) + if o3d.Office365DatasetTypeProperties != nil { + objectMap["typeProperties"] = o3d.Office365DatasetTypeProperties + } + if o3d.Description != nil { + objectMap["description"] = o3d.Description + } + if o3d.Structure != nil { + objectMap["structure"] = o3d.Structure + } + if o3d.Schema != nil { + objectMap["schema"] = o3d.Schema + } + if o3d.LinkedServiceName != nil { + objectMap["linkedServiceName"] = o3d.LinkedServiceName + } + if o3d.Parameters != nil { + objectMap["parameters"] = o3d.Parameters + } + if o3d.Annotations != nil { + objectMap["annotations"] = o3d.Annotations + } + if o3d.Folder != nil { + objectMap["folder"] = o3d.Folder + } + if o3d.Type != "" { + objectMap["type"] = o3d.Type + } + for k, v := range o3d.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return &o3d, true +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsBasicDataset() (BasicDataset, bool) { + return &o3d, true +} + +// UnmarshalJSON is the custom unmarshaler for Office365Dataset struct. +func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var office365DatasetTypeProperties Office365DatasetTypeProperties + err = json.Unmarshal(*v, &office365DatasetTypeProperties) + if err != nil { + return err + } + o3d.Office365DatasetTypeProperties = &office365DatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if o3d.AdditionalProperties == nil { + o3d.AdditionalProperties = make(map[string]interface{}) + } + o3d.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + o3d.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + o3d.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + o3d.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + o3d.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + o3d.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + o3d.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + o3d.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + o3d.Type = typeVar + } + } + } + + return nil +} + +// Office365DatasetTypeProperties office365 dataset properties. +type Office365DatasetTypeProperties struct { + // TableName - Name of the dataset to extract from Office 365. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` + // 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). + Predicate interface{} `json:"predicate,omitempty"` +} + +// Office365LinkedService office365 linked service. +type Office365LinkedService struct { + // Office365LinkedServiceTypeProperties - Office365 linked service properties. + *Office365LinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Office365LinkedService. +func (o3ls Office365LinkedService) MarshalJSON() ([]byte, error) { + o3ls.Type = TypeOffice365 + objectMap := make(map[string]interface{}) + if o3ls.Office365LinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = o3ls.Office365LinkedServiceTypeProperties + } + if o3ls.ConnectVia != nil { + objectMap["connectVia"] = o3ls.ConnectVia + } + if o3ls.Description != nil { + objectMap["description"] = o3ls.Description + } + if o3ls.Parameters != nil { + objectMap["parameters"] = o3ls.Parameters + } + if o3ls.Annotations != nil { + objectMap["annotations"] = o3ls.Annotations + } + if o3ls.Type != "" { + objectMap["type"] = o3ls.Type + } + for k, v := range o3ls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return &o3ls, true +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &o3ls, true +} + +// UnmarshalJSON is the custom unmarshaler for Office365LinkedService struct. +func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var office365LinkedServiceTypeProperties Office365LinkedServiceTypeProperties + err = json.Unmarshal(*v, &office365LinkedServiceTypeProperties) + if err != nil { + return err + } + o3ls.Office365LinkedServiceTypeProperties = &office365LinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if o3ls.AdditionalProperties == nil { + o3ls.AdditionalProperties = make(map[string]interface{}) + } + o3ls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + o3ls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + o3ls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + o3ls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + o3ls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + o3ls.Type = typeVar + } + } + } + + return nil +} + +// Office365LinkedServiceTypeProperties office365 linked service properties. +type Office365LinkedServiceTypeProperties struct { + // Office365TenantID - Azure tenant ID to which the Office 365 account belongs. Type: string (or Expression with resultType string). + Office365TenantID interface{} `json:"office365TenantId,omitempty"` + // ServicePrincipalTenantID - Specify the tenant information under which your Azure AD web application resides. Type: string (or Expression with resultType string). + ServicePrincipalTenantID interface{} `json:"servicePrincipalTenantId,omitempty"` + // ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - Specify the application's key. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for Office365LinkedServiceTypeProperties struct. +func (o3lstp *Office365LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "office365TenantId": + if v != nil { + var office365TenantID interface{} + err = json.Unmarshal(*v, &office365TenantID) + if err != nil { + return err + } + o3lstp.Office365TenantID = office365TenantID + } + case "servicePrincipalTenantId": + if v != nil { + var servicePrincipalTenantID interface{} + err = json.Unmarshal(*v, &servicePrincipalTenantID) + if err != nil { + return err + } + o3lstp.ServicePrincipalTenantID = servicePrincipalTenantID + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + o3lstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + o3lstp.ServicePrincipalKey = servicePrincipalKey + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + o3lstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// Office365Source a copy activity source for an Office 365 service. +type Office365Source struct { + // AllowedGroups - The groups containing all the users. Type: array of strings (or Expression with resultType array of strings). + AllowedGroups interface{} `json:"allowedGroups,omitempty"` + // UserScopeFilterURI - The user scope uri. Type: string (or Expression with resultType string). + UserScopeFilterURI interface{} `json:"userScopeFilterUri,omitempty"` + // DateFilterColumn - The Column to apply the and . Type: string (or Expression with resultType string). + DateFilterColumn interface{} `json:"dateFilterColumn,omitempty"` + // StartTime - Start time of the requested range for this dataset. Type: string (or Expression with resultType string). + StartTime interface{} `json:"startTime,omitempty"` + // EndTime - End time of the requested range for this dataset. Type: string (or Expression with resultType string). + EndTime interface{} `json:"endTime,omitempty"` + // 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" } ] + OutputColumns interface{} `json:"outputColumns,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Office365Source. +func (o3s Office365Source) MarshalJSON() ([]byte, error) { + o3s.Type = TypeOffice365Source + objectMap := make(map[string]interface{}) + if o3s.AllowedGroups != nil { + objectMap["allowedGroups"] = o3s.AllowedGroups + } + if o3s.UserScopeFilterURI != nil { + objectMap["userScopeFilterUri"] = o3s.UserScopeFilterURI + } + if o3s.DateFilterColumn != nil { + objectMap["dateFilterColumn"] = o3s.DateFilterColumn + } + if o3s.StartTime != nil { + objectMap["startTime"] = o3s.StartTime + } + if o3s.EndTime != nil { + objectMap["endTime"] = o3s.EndTime + } + if o3s.OutputColumns != nil { + objectMap["outputColumns"] = o3s.OutputColumns + } + if o3s.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = o3s.SourceRetryCount + } + if o3s.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = o3s.SourceRetryWait + } + if o3s.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = o3s.MaxConcurrentConnections + } + if o3s.Type != "" { + objectMap["type"] = o3s.Type + } + for k, v := range o3s.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOffice365Source() (*Office365Source, bool) { + return &o3s, true +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBasicCopySource() (BasicCopySource, bool) { + return &o3s, true +} + +// UnmarshalJSON is the custom unmarshaler for Office365Source struct. +func (o3s *Office365Source) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "allowedGroups": + if v != nil { + var allowedGroups interface{} + err = json.Unmarshal(*v, &allowedGroups) + if err != nil { + return err + } + o3s.AllowedGroups = allowedGroups + } + case "userScopeFilterUri": + if v != nil { + var userScopeFilterURI interface{} + err = json.Unmarshal(*v, &userScopeFilterURI) + if err != nil { + return err + } + o3s.UserScopeFilterURI = userScopeFilterURI + } + case "dateFilterColumn": + if v != nil { + var dateFilterColumn interface{} + err = json.Unmarshal(*v, &dateFilterColumn) + if err != nil { + return err + } + o3s.DateFilterColumn = dateFilterColumn + } + case "startTime": + if v != nil { + var startTime interface{} + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + o3s.StartTime = startTime + } + case "endTime": + if v != nil { + var endTime interface{} + err = json.Unmarshal(*v, &endTime) + if err != nil { + return err + } + o3s.EndTime = endTime + } + case "outputColumns": + if v != nil { + var outputColumns interface{} + err = json.Unmarshal(*v, &outputColumns) + if err != nil { + return err + } + o3s.OutputColumns = outputColumns + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if o3s.AdditionalProperties == nil { + o3s.AdditionalProperties = make(map[string]interface{}) + } + o3s.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + o3s.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + o3s.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + o3s.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + o3s.Type = typeVar + } + } + } + + return nil +} + +// OracleLinkedService oracle database. +type OracleLinkedService struct { + // OracleLinkedServiceTypeProperties - Oracle database linked service properties. + *OracleLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleLinkedService. +func (ols OracleLinkedService) MarshalJSON() ([]byte, error) { + ols.Type = TypeOracle + objectMap := make(map[string]interface{}) + if ols.OracleLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ols.OracleLinkedServiceTypeProperties + } + if ols.ConnectVia != nil { + objectMap["connectVia"] = ols.ConnectVia + } + if ols.Description != nil { + objectMap["description"] = ols.Description + } + if ols.Parameters != nil { + objectMap["parameters"] = ols.Parameters + } + if ols.Annotations != nil { + objectMap["annotations"] = ols.Annotations + } + if ols.Type != "" { + objectMap["type"] = ols.Type + } + for k, v := range ols.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return &ols, true +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ols, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleLinkedService struct. +func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var oracleLinkedServiceTypeProperties OracleLinkedServiceTypeProperties + err = json.Unmarshal(*v, &oracleLinkedServiceTypeProperties) + if err != nil { + return err + } + ols.OracleLinkedServiceTypeProperties = &oracleLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ols.AdditionalProperties == nil { + ols.AdditionalProperties = make(map[string]interface{}) + } + ols.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ols.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ols.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ols.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ols.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ols.Type = typeVar + } + } + } + + return nil +} + +// OracleLinkedServiceTypeProperties oracle database linked service properties. +type OracleLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// OraclePartitionSettings the settings that will be leveraged for Oracle source partitioning. +type OraclePartitionSettings struct { + // PartitionNames - Names of the physical partitions of Oracle table. + PartitionNames interface{} `json:"partitionNames,omitempty"` + // PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` + // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` + // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` +} + +// OracleServiceCloudLinkedService oracle Service Cloud linked service. +type OracleServiceCloudLinkedService struct { + // OracleServiceCloudLinkedServiceTypeProperties - Oracle Service Cloud linked service properties. + *OracleServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) MarshalJSON() ([]byte, error) { + oscls.Type = TypeOracleServiceCloud + objectMap := make(map[string]interface{}) + if oscls.OracleServiceCloudLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = oscls.OracleServiceCloudLinkedServiceTypeProperties + } + if oscls.ConnectVia != nil { + objectMap["connectVia"] = oscls.ConnectVia + } + if oscls.Description != nil { + objectMap["description"] = oscls.Description + } + if oscls.Parameters != nil { + objectMap["parameters"] = oscls.Parameters + } + if oscls.Annotations != nil { + objectMap["annotations"] = oscls.Annotations + } + if oscls.Type != "" { + objectMap["type"] = oscls.Type + } + for k, v := range oscls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return &oscls, true +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &oscls, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedService struct. +func (oscls *OracleServiceCloudLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var oracleServiceCloudLinkedServiceTypeProperties OracleServiceCloudLinkedServiceTypeProperties + err = json.Unmarshal(*v, &oracleServiceCloudLinkedServiceTypeProperties) + if err != nil { + return err + } + oscls.OracleServiceCloudLinkedServiceTypeProperties = &oracleServiceCloudLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if oscls.AdditionalProperties == nil { + oscls.AdditionalProperties = make(map[string]interface{}) + } + oscls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + oscls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + oscls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + oscls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + oscls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + oscls.Type = typeVar + } + } + } + + return nil +} + +// OracleServiceCloudLinkedServiceTypeProperties oracle Service Cloud linked service properties. +type OracleServiceCloudLinkedServiceTypeProperties struct { + // Host - The URL of the Oracle Service Cloud instance. + Host interface{} `json:"host,omitempty"` + // Username - The user name that you use to access Oracle Service Cloud server. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the username key. + Password BasicSecretBase `json:"password,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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). + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // 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). + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedServiceTypeProperties struct. +func (osclstp *OracleServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + osclstp.Host = host + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + osclstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + osclstp.Password = password + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + osclstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + osclstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + osclstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + osclstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// OracleServiceCloudObjectDataset oracle Service Cloud dataset. +type OracleServiceCloudObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) MarshalJSON() ([]byte, error) { + oscod.Type = TypeOracleServiceCloudObject + objectMap := make(map[string]interface{}) + if oscod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = oscod.GenericDatasetTypeProperties + } + if oscod.Description != nil { + objectMap["description"] = oscod.Description + } + if oscod.Structure != nil { + objectMap["structure"] = oscod.Structure + } + if oscod.Schema != nil { + objectMap["schema"] = oscod.Schema + } + if oscod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = oscod.LinkedServiceName + } + if oscod.Parameters != nil { + objectMap["parameters"] = oscod.Parameters + } + if oscod.Annotations != nil { + objectMap["annotations"] = oscod.Annotations + } + if oscod.Folder != nil { + objectMap["folder"] = oscod.Folder + } + if oscod.Type != "" { + objectMap["type"] = oscod.Type + } + for k, v := range oscod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return &oscod, true +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &oscod, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudObjectDataset struct. +func (oscod *OracleServiceCloudObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + oscod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if oscod.AdditionalProperties == nil { + oscod.AdditionalProperties = make(map[string]interface{}) + } + oscod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + oscod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + oscod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + oscod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + oscod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + oscod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + oscod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + oscod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + oscod.Type = typeVar + } + } + } + + return nil +} + +// OracleServiceCloudSource a copy activity Oracle Service Cloud source. +type OracleServiceCloudSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) MarshalJSON() ([]byte, error) { + oscs.Type = TypeOracleServiceCloudSource + objectMap := make(map[string]interface{}) + if oscs.Query != nil { + objectMap["query"] = oscs.Query + } + if oscs.QueryTimeout != nil { + objectMap["queryTimeout"] = oscs.QueryTimeout + } + if oscs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = oscs.SourceRetryCount + } + if oscs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = oscs.SourceRetryWait + } + if oscs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = oscs.MaxConcurrentConnections + } + if oscs.Type != "" { + objectMap["type"] = oscs.Type + } + for k, v := range oscs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return &oscs, true +} + +// AsDynamicsAXSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &oscs, true +} + +// AsBinarySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) { + return &oscs, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudSource struct. +func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + oscs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + oscs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if oscs.AdditionalProperties == nil { + oscs.AdditionalProperties = make(map[string]interface{}) + } + oscs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + oscs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + oscs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + oscs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + oscs.Type = typeVar + } + } + } + + return nil +} + +// OracleSink a copy activity Oracle sink. +type OracleSink struct { + // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleSink. +func (osVar OracleSink) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOracleSink + objectMap := make(map[string]interface{}) + if osVar.PreCopyScript != nil { + objectMap["preCopyScript"] = osVar.PreCopyScript + } + if osVar.WriteBatchSize != nil { + objectMap["writeBatchSize"] = osVar.WriteBatchSize + } + if osVar.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout + } + if osVar.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = osVar.SinkRetryCount + } + if osVar.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = osVar.SinkRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsOracleSink() (*OracleSink, bool) { + return &osVar, true +} + +// AsSQLDWSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsBasicCopySink() (BasicCopySink, bool) { + return &osVar, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleSink struct. +func (osVar *OracleSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + osVar.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) + } + osVar.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + osVar.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + osVar.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + osVar.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + osVar.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + osVar.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + osVar.Type = typeVar + } + } + } + + return nil +} + +// OracleSource a copy activity Oracle source. +type OracleSource struct { + // OracleReaderQuery - Oracle reader query. Type: string (or Expression with resultType string). + OracleReaderQuery interface{} `json:"oracleReaderQuery,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // PartitionOption - The partition mechanism that will be used for Oracle read in parallel. Possible values include: 'OraclePartitionOptionNone', 'OraclePartitionOptionPhysicalPartitionsOfTable', 'OraclePartitionOptionDynamicRange' + PartitionOption OraclePartitionOption `json:"partitionOption,omitempty"` + // PartitionSettings - The settings that will be leveraged for Oracle source partitioning. + PartitionSettings *OraclePartitionSettings `json:"partitionSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleSource. +func (osVar OracleSource) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOracleSource + objectMap := make(map[string]interface{}) + if osVar.OracleReaderQuery != nil { + objectMap["oracleReaderQuery"] = osVar.OracleReaderQuery + } + if osVar.QueryTimeout != nil { + objectMap["queryTimeout"] = osVar.QueryTimeout + } + if osVar.PartitionOption != "" { + objectMap["partitionOption"] = osVar.PartitionOption + } + if osVar.PartitionSettings != nil { + objectMap["partitionSettings"] = osVar.PartitionSettings + } + if osVar.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = osVar.SourceRetryCount + } + if osVar.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = osVar.SourceRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOracleSource() (*OracleSource, bool) { + return &osVar, true +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBasicCopySource() (BasicCopySource, bool) { + return &osVar, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleSource struct. +func (osVar *OracleSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "oracleReaderQuery": + if v != nil { + var oracleReaderQuery interface{} + err = json.Unmarshal(*v, &oracleReaderQuery) + if err != nil { + return err + } + osVar.OracleReaderQuery = oracleReaderQuery + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + osVar.QueryTimeout = queryTimeout + } + case "partitionOption": + if v != nil { + var partitionOption OraclePartitionOption + err = json.Unmarshal(*v, &partitionOption) + if err != nil { + return err + } + osVar.PartitionOption = partitionOption + } + case "partitionSettings": + if v != nil { + var partitionSettings OraclePartitionSettings + err = json.Unmarshal(*v, &partitionSettings) + if err != nil { + return err + } + osVar.PartitionSettings = &partitionSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) + } + osVar.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + osVar.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + osVar.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + osVar.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + osVar.Type = typeVar + } + } + } + + return nil +} + +// OracleTableDataset the on-premises Oracle database dataset. +type OracleTableDataset struct { + // OracleTableDatasetTypeProperties - On-premises Oracle dataset properties. + *OracleTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleTableDataset. +func (otd OracleTableDataset) MarshalJSON() ([]byte, error) { + otd.Type = TypeOracleTable + objectMap := make(map[string]interface{}) + if otd.OracleTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = otd.OracleTableDatasetTypeProperties + } + if otd.Description != nil { + objectMap["description"] = otd.Description + } + if otd.Structure != nil { + objectMap["structure"] = otd.Structure + } + if otd.Schema != nil { + objectMap["schema"] = otd.Schema + } + if otd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = otd.LinkedServiceName + } + if otd.Parameters != nil { + objectMap["parameters"] = otd.Parameters + } + if otd.Annotations != nil { + objectMap["annotations"] = otd.Annotations + } + if otd.Folder != nil { + objectMap["folder"] = otd.Folder + } + if otd.Type != "" { + objectMap["type"] = otd.Type + } + for k, v := range otd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return &otd, true +} + +// AsODataResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &otd, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleTableDataset struct. +func (otd *OracleTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var oracleTableDatasetTypeProperties OracleTableDatasetTypeProperties + err = json.Unmarshal(*v, &oracleTableDatasetTypeProperties) + if err != nil { + return err + } + otd.OracleTableDatasetTypeProperties = &oracleTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if otd.AdditionalProperties == nil { + otd.AdditionalProperties = make(map[string]interface{}) + } + otd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + otd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + otd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + otd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + otd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + otd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + otd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + otd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + otd.Type = typeVar + } + } + } + + return nil +} + +// OracleTableDatasetTypeProperties on-premises Oracle dataset properties. +type OracleTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The schema name of the on-premises Oracle database. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The table name of the on-premises Oracle database. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// OrcDataset ORC dataset. +type OrcDataset struct { + // OrcDatasetTypeProperties - ORC dataset properties. + *OrcDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OrcDataset. +func (od OrcDataset) MarshalJSON() ([]byte, error) { + od.Type = TypeOrc + objectMap := make(map[string]interface{}) + if od.OrcDatasetTypeProperties != nil { + objectMap["typeProperties"] = od.OrcDatasetTypeProperties + } + if od.Description != nil { + objectMap["description"] = od.Description + } + if od.Structure != nil { + objectMap["structure"] = od.Structure + } + if od.Schema != nil { + objectMap["schema"] = od.Schema + } + if od.LinkedServiceName != nil { + objectMap["linkedServiceName"] = od.LinkedServiceName + } + if od.Parameters != nil { + objectMap["parameters"] = od.Parameters + } + if od.Annotations != nil { + objectMap["annotations"] = od.Annotations + } + if od.Folder != nil { + objectMap["folder"] = od.Folder + } + if od.Type != "" { + objectMap["type"] = od.Type + } + for k, v := range od.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOrcDataset() (*OrcDataset, bool) { + return &od, true +} + +// AsJSONDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsBasicDataset() (BasicDataset, bool) { + return &od, true +} + +// UnmarshalJSON is the custom unmarshaler for OrcDataset struct. +func (od *OrcDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var orcDatasetTypeProperties OrcDatasetTypeProperties + err = json.Unmarshal(*v, &orcDatasetTypeProperties) + if err != nil { + return err + } + od.OrcDatasetTypeProperties = &orcDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if od.AdditionalProperties == nil { + od.AdditionalProperties = make(map[string]interface{}) + } + od.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + od.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + od.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + od.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + od.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + od.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + od.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + od.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + od.Type = typeVar + } + } + } + + return nil +} + +// OrcDatasetTypeProperties ORC dataset properties. +type OrcDatasetTypeProperties struct { + // Location - The location of the ORC data storage. + Location BasicDatasetLocation `json:"location,omitempty"` + // OrcCompressionCodec - Possible values include: 'OrcCompressionCodecNone', 'OrcCompressionCodecZlib', 'OrcCompressionCodecSnappy' + OrcCompressionCodec OrcCompressionCodec `json:"orcCompressionCodec,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for OrcDatasetTypeProperties struct. +func (odtp *OrcDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + location, err := unmarshalBasicDatasetLocation(*v) + if err != nil { + return err + } + odtp.Location = location + } + case "orcCompressionCodec": + if v != nil { + var orcCompressionCodec OrcCompressionCodec + err = json.Unmarshal(*v, &orcCompressionCodec) + if err != nil { + return err + } + odtp.OrcCompressionCodec = orcCompressionCodec + } + } + } + + return nil +} + +// OrcSink a copy activity ORC sink. +type OrcSink struct { + // StoreSettings - ORC store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OrcSink. +func (osVar OrcSink) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOrcSink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = osVar.StoreSettings + if osVar.WriteBatchSize != nil { + objectMap["writeBatchSize"] = osVar.WriteBatchSize + } + if osVar.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout + } + if osVar.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = osVar.SinkRetryCount + } + if osVar.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = osVar.SinkRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsOrcSink() (*OrcSink, bool) { + return &osVar, true +} + +// AsJSONSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsBasicCopySink() (BasicCopySink, bool) { + return &osVar, true +} + +// UnmarshalJSON is the custom unmarshaler for OrcSink struct. +func (osVar *OrcSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + osVar.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) + } + osVar.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + osVar.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + osVar.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + osVar.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + osVar.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + osVar.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + osVar.Type = typeVar + } + } + } + + return nil +} + +// OrcSource a copy activity ORC source. +type OrcSource struct { + // StoreSettings - ORC store settings. + StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OrcSource. +func (osVar OrcSource) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOrcSource + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = osVar.StoreSettings + if osVar.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = osVar.SourceRetryCount + } + if osVar.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = osVar.SourceRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOrcSource() (*OrcSource, bool) { + return &osVar, true +} + +// AsJSONSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBasicCopySource() (BasicCopySource, bool) { + return &osVar, true +} + +// UnmarshalJSON is the custom unmarshaler for OrcSource struct. +func (osVar *OrcSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreReadSettings(*v) + if err != nil { + return err + } + osVar.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) + } + osVar.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + osVar.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + osVar.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + osVar.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + osVar.Type = typeVar + } + } + } + + return nil +} + +// ParameterSpecification definition of a single parameter for an entity. +type ParameterSpecification struct { + // Type - Parameter type. Possible values include: 'ParameterTypeObject', 'ParameterTypeString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeSecureString' + Type ParameterType `json:"type,omitempty"` + // DefaultValue - Default value of parameter. + DefaultValue interface{} `json:"defaultValue,omitempty"` +} + +// ParquetDataset parquet dataset. +type ParquetDataset struct { + // ParquetDatasetTypeProperties - Parquet dataset properties. + *ParquetDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ParquetDataset. +func (pd ParquetDataset) MarshalJSON() ([]byte, error) { + pd.Type = TypeParquet + objectMap := make(map[string]interface{}) + if pd.ParquetDatasetTypeProperties != nil { + objectMap["typeProperties"] = pd.ParquetDatasetTypeProperties + } + if pd.Description != nil { + objectMap["description"] = pd.Description + } + if pd.Structure != nil { + objectMap["structure"] = pd.Structure + } + if pd.Schema != nil { + objectMap["schema"] = pd.Schema + } + if pd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = pd.LinkedServiceName + } + if pd.Parameters != nil { + objectMap["parameters"] = pd.Parameters + } + if pd.Annotations != nil { + objectMap["annotations"] = pd.Annotations + } + if pd.Folder != nil { + objectMap["folder"] = pd.Folder + } + if pd.Type != "" { + objectMap["type"] = pd.Type + } + for k, v := range pd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsParquetDataset() (*ParquetDataset, bool) { + return &pd, true +} + +// AsAvroDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsBasicDataset() (BasicDataset, bool) { + return &pd, true +} + +// UnmarshalJSON is the custom unmarshaler for ParquetDataset struct. +func (pd *ParquetDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var parquetDatasetTypeProperties ParquetDatasetTypeProperties + err = json.Unmarshal(*v, &parquetDatasetTypeProperties) + if err != nil { + return err + } + pd.ParquetDatasetTypeProperties = &parquetDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pd.AdditionalProperties == nil { + pd.AdditionalProperties = make(map[string]interface{}) + } + pd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + pd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + pd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + pd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + pd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pd.Type = typeVar + } + } + } + + return nil +} + +// ParquetDatasetTypeProperties parquet dataset properties. +type ParquetDatasetTypeProperties struct { + // Location - The location of the parquet storage. + Location BasicDatasetLocation `json:"location,omitempty"` + // CompressionCodec - Possible values include: 'ParquetCompressionCodecNone', 'ParquetCompressionCodecGzip', 'ParquetCompressionCodecSnappy', 'ParquetCompressionCodecLzo' + CompressionCodec ParquetCompressionCodec `json:"compressionCodec,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ParquetDatasetTypeProperties struct. +func (pdtp *ParquetDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + location, err := unmarshalBasicDatasetLocation(*v) + if err != nil { + return err + } + pdtp.Location = location + } + case "compressionCodec": + if v != nil { + var compressionCodec ParquetCompressionCodec + err = json.Unmarshal(*v, &compressionCodec) + if err != nil { + return err + } + pdtp.CompressionCodec = compressionCodec + } + } + } + + return nil +} + +// ParquetSink a copy activity Parquet sink. +type ParquetSink struct { + // StoreSettings - Parquet store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ParquetSink. +func (ps ParquetSink) MarshalJSON() ([]byte, error) { + ps.Type = TypeParquetSink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = ps.StoreSettings + if ps.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ps.WriteBatchSize + } + if ps.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ps.WriteBatchTimeout + } + if ps.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ps.SinkRetryCount + } + if ps.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ps.SinkRetryWait + } + if ps.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections + } + if ps.Type != "" { + objectMap["type"] = ps.Type + } + for k, v := range ps.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsParquetSink() (*ParquetSink, bool) { + return &ps, true +} + +// AsAvroSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ps, true +} + +// UnmarshalJSON is the custom unmarshaler for ParquetSink struct. +func (ps *ParquetSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + ps.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ps.AdditionalProperties == nil { + ps.AdditionalProperties = make(map[string]interface{}) + } + ps.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ps.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ps.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ps.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ps.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ps.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ps.Type = typeVar + } + } + } + + return nil +} + +// ParquetSource a copy activity Parquet source. +type ParquetSource struct { + // StoreSettings - Parquet store settings. + StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ParquetSource. +func (ps ParquetSource) MarshalJSON() ([]byte, error) { + ps.Type = TypeParquetSource + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = ps.StoreSettings + if ps.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ps.SourceRetryCount + } + if ps.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ps.SourceRetryWait + } + if ps.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections + } + if ps.Type != "" { + objectMap["type"] = ps.Type + } + for k, v := range ps.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsParquetSource() (*ParquetSource, bool) { + return &ps, true +} + +// AsAvroSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ps, true +} + +// UnmarshalJSON is the custom unmarshaler for ParquetSource struct. +func (ps *ParquetSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreReadSettings(*v) + if err != nil { + return err + } + ps.StoreSettings = storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ps.AdditionalProperties == nil { + ps.AdditionalProperties = make(map[string]interface{}) + } + ps.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ps.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ps.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ps.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ps.Type = typeVar + } + } + } + + return nil +} + +// PaypalLinkedService paypal Service linked service. +type PaypalLinkedService struct { + // PaypalLinkedServiceTypeProperties - Paypal Service linked service properties. + *PaypalLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PaypalLinkedService. +func (pls PaypalLinkedService) MarshalJSON() ([]byte, error) { + pls.Type = TypePaypal + objectMap := make(map[string]interface{}) + if pls.PaypalLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = pls.PaypalLinkedServiceTypeProperties + } + if pls.ConnectVia != nil { + objectMap["connectVia"] = pls.ConnectVia + } + if pls.Description != nil { + objectMap["description"] = pls.Description + } + if pls.Parameters != nil { + objectMap["parameters"] = pls.Parameters + } + if pls.Annotations != nil { + objectMap["annotations"] = pls.Annotations + } + if pls.Type != "" { + objectMap["type"] = pls.Type + } + for k, v := range pls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return &pls, true +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &pls, true +} + +// UnmarshalJSON is the custom unmarshaler for PaypalLinkedService struct. +func (pls *PaypalLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var paypalLinkedServiceTypeProperties PaypalLinkedServiceTypeProperties + err = json.Unmarshal(*v, &paypalLinkedServiceTypeProperties) + if err != nil { + return err + } + pls.PaypalLinkedServiceTypeProperties = &paypalLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pls.AdditionalProperties == nil { + pls.AdditionalProperties = make(map[string]interface{}) + } + pls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + pls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pls.Type = typeVar + } + } + } + + return nil +} + +// PaypalLinkedServiceTypeProperties paypal Service linked service properties. +type PaypalLinkedServiceTypeProperties struct { + // Host - The URL of the PayPal instance. (i.e. api.sandbox.paypal.com) + Host interface{} `json:"host,omitempty"` + // ClientID - The client ID associated with your PayPal application. + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret associated with your PayPal application. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for PaypalLinkedServiceTypeProperties struct. +func (plstp *PaypalLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + plstp.Host = host + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + plstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + plstp.ClientSecret = clientSecret + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + plstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + plstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + plstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + plstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// PaypalObjectDataset paypal Service dataset. +type PaypalObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PaypalObjectDataset. +func (pod PaypalObjectDataset) MarshalJSON() ([]byte, error) { + pod.Type = TypePaypalObject + objectMap := make(map[string]interface{}) + if pod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = pod.GenericDatasetTypeProperties + } + if pod.Description != nil { + objectMap["description"] = pod.Description + } + if pod.Structure != nil { + objectMap["structure"] = pod.Structure + } + if pod.Schema != nil { + objectMap["schema"] = pod.Schema + } + if pod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = pod.LinkedServiceName + } + if pod.Parameters != nil { + objectMap["parameters"] = pod.Parameters + } + if pod.Annotations != nil { + objectMap["annotations"] = pod.Annotations + } + if pod.Folder != nil { + objectMap["folder"] = pod.Folder + } + if pod.Type != "" { + objectMap["type"] = pod.Type + } + for k, v := range pod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return &pod, true +} + +// AsMarketoObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &pod, true +} + +// UnmarshalJSON is the custom unmarshaler for PaypalObjectDataset struct. +func (pod *PaypalObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + pod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pod.AdditionalProperties == nil { + pod.AdditionalProperties = make(map[string]interface{}) + } + pod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + pod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + pod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + pod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + pod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pod.Type = typeVar + } + } + } + + return nil +} + +// PaypalSource a copy activity Paypal Service source. +type PaypalSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PaypalSource. +func (ps PaypalSource) MarshalJSON() ([]byte, error) { + ps.Type = TypePaypalSource + objectMap := make(map[string]interface{}) + if ps.Query != nil { + objectMap["query"] = ps.Query + } + if ps.QueryTimeout != nil { + objectMap["queryTimeout"] = ps.QueryTimeout + } + if ps.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ps.SourceRetryCount + } + if ps.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ps.SourceRetryWait + } + if ps.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections + } + if ps.Type != "" { + objectMap["type"] = ps.Type + } + for k, v := range ps.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsPaypalSource() (*PaypalSource, bool) { + return &ps, true +} + +// AsMarketoSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ps, true +} + +// AsBinarySource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ps, true +} + +// UnmarshalJSON is the custom unmarshaler for PaypalSource struct. +func (ps *PaypalSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ps.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ps.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ps.AdditionalProperties == nil { + ps.AdditionalProperties = make(map[string]interface{}) + } + ps.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ps.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ps.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ps.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ps.Type = typeVar + } + } + } + + return nil +} + +// PhoenixDatasetTypeProperties phoenix Dataset Properties +type PhoenixDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Phoenix. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Phoenix. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// PhoenixLinkedService phoenix server linked service. +type PhoenixLinkedService struct { + // PhoenixLinkedServiceTypeProperties - Phoenix server linked service properties. + *PhoenixLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PhoenixLinkedService. +func (pls PhoenixLinkedService) MarshalJSON() ([]byte, error) { + pls.Type = TypePhoenix + objectMap := make(map[string]interface{}) + if pls.PhoenixLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = pls.PhoenixLinkedServiceTypeProperties + } + if pls.ConnectVia != nil { + objectMap["connectVia"] = pls.ConnectVia + } + if pls.Description != nil { + objectMap["description"] = pls.Description + } + if pls.Parameters != nil { + objectMap["parameters"] = pls.Parameters + } + if pls.Annotations != nil { + objectMap["annotations"] = pls.Annotations + } + if pls.Type != "" { + objectMap["type"] = pls.Type + } + for k, v := range pls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return &pls, true +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &pls, true +} + +// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedService struct. +func (pls *PhoenixLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var phoenixLinkedServiceTypeProperties PhoenixLinkedServiceTypeProperties + err = json.Unmarshal(*v, &phoenixLinkedServiceTypeProperties) + if err != nil { + return err + } + pls.PhoenixLinkedServiceTypeProperties = &phoenixLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pls.AdditionalProperties == nil { + pls.AdditionalProperties = make(map[string]interface{}) + } + pls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + pls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pls.Type = typeVar + } + } + } + + return nil +} + +// PhoenixLinkedServiceTypeProperties phoenix server linked service properties. +type PhoenixLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the Phoenix server. (i.e. 192.168.222.160) + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the Phoenix server uses to listen for client connections. The default value is 8765. + Port interface{} `json:"port,omitempty"` + // HTTPPath - The partial URL corresponding to the Phoenix server. (i.e. /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using WindowsAzureHDInsightService. + HTTPPath interface{} `json:"httpPath,omitempty"` + // AuthenticationType - The authentication mechanism used to connect to the Phoenix server. Possible values include: 'PhoenixAuthenticationTypeAnonymous', 'PhoenixAuthenticationTypeUsernameAndPassword', 'PhoenixAuthenticationTypeWindowsAzureHDInsightService' + AuthenticationType PhoenixAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name used to connect to the Phoenix server. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name. + Password BasicSecretBase `json:"password,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // 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. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedServiceTypeProperties struct. +func (plstp *PhoenixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + plstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + plstp.Port = port + } + case "httpPath": + if v != nil { + var HTTPPath interface{} + err = json.Unmarshal(*v, &HTTPPath) + if err != nil { + return err + } + plstp.HTTPPath = HTTPPath + } + case "authenticationType": + if v != nil { + var authenticationType PhoenixAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + plstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + plstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + plstp.Password = password + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + plstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + plstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + plstp.UseSystemTrustStore = useSystemTrustStore + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + plstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// PhoenixObjectDataset phoenix server dataset. +type PhoenixObjectDataset struct { + // PhoenixDatasetTypeProperties - Properties specific to this dataset type. + *PhoenixDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) MarshalJSON() ([]byte, error) { + pod.Type = TypePhoenixObject + objectMap := make(map[string]interface{}) + if pod.PhoenixDatasetTypeProperties != nil { + objectMap["typeProperties"] = pod.PhoenixDatasetTypeProperties + } + if pod.Description != nil { + objectMap["description"] = pod.Description + } + if pod.Structure != nil { + objectMap["structure"] = pod.Structure + } + if pod.Schema != nil { + objectMap["schema"] = pod.Schema + } + if pod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = pod.LinkedServiceName + } + if pod.Parameters != nil { + objectMap["parameters"] = pod.Parameters + } + if pod.Annotations != nil { + objectMap["annotations"] = pod.Annotations + } + if pod.Folder != nil { + objectMap["folder"] = pod.Folder + } + if pod.Type != "" { + objectMap["type"] = pod.Type + } + for k, v := range pod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return &pod, true +} + +// AsPaypalObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &pod, true +} + +// UnmarshalJSON is the custom unmarshaler for PhoenixObjectDataset struct. +func (pod *PhoenixObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var phoenixDatasetTypeProperties PhoenixDatasetTypeProperties + err = json.Unmarshal(*v, &phoenixDatasetTypeProperties) + if err != nil { + return err + } + pod.PhoenixDatasetTypeProperties = &phoenixDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pod.AdditionalProperties == nil { + pod.AdditionalProperties = make(map[string]interface{}) + } + pod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + pod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + pod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + pod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + pod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pod.Type = typeVar + } + } + } + + return nil +} + +// PhoenixSource a copy activity Phoenix server source. +type PhoenixSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PhoenixSource. +func (ps PhoenixSource) MarshalJSON() ([]byte, error) { + ps.Type = TypePhoenixSource + objectMap := make(map[string]interface{}) + if ps.Query != nil { + objectMap["query"] = ps.Query + } + if ps.QueryTimeout != nil { + objectMap["queryTimeout"] = ps.QueryTimeout + } + if ps.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ps.SourceRetryCount + } + if ps.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ps.SourceRetryWait + } + if ps.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections + } + if ps.Type != "" { + objectMap["type"] = ps.Type + } + for k, v := range ps.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsPhoenixSource() (*PhoenixSource, bool) { + return &ps, true +} + +// AsPaypalSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ps, true +} + +// AsBinarySource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ps, true +} + +// UnmarshalJSON is the custom unmarshaler for PhoenixSource struct. +func (ps *PhoenixSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ps.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ps.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ps.AdditionalProperties == nil { + ps.AdditionalProperties = make(map[string]interface{}) + } + ps.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ps.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ps.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ps.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ps.Type = typeVar + } + } + } + + return nil +} + +// Pipeline a workspace pipeline. +type Pipeline struct { + // Description - The description of the pipeline. + Description *string `json:"description,omitempty"` + // Activities - List of activities in pipeline. + Activities *[]BasicActivity `json:"activities,omitempty"` + // Parameters - List of parameters for pipeline. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Variables - List of variables for pipeline. + Variables map[string]*VariableSpecification `json:"variables"` + // Concurrency - The max number of concurrent runs for the pipeline. + Concurrency *int32 `json:"concurrency,omitempty"` + // Annotations - List of tags that can be used for describing the Pipeline. + Annotations *[]interface{} `json:"annotations,omitempty"` + // RunDimensions - Dimensions emitted by Pipeline. + RunDimensions map[string]interface{} `json:"runDimensions"` + // Folder - The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level. + Folder *PipelineFolder `json:"folder,omitempty"` +} + +// MarshalJSON is the custom marshaler for Pipeline. +func (p Pipeline) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if p.Description != nil { + objectMap["description"] = p.Description + } + if p.Activities != nil { + objectMap["activities"] = p.Activities + } + if p.Parameters != nil { + objectMap["parameters"] = p.Parameters + } + if p.Variables != nil { + objectMap["variables"] = p.Variables + } + if p.Concurrency != nil { + objectMap["concurrency"] = p.Concurrency + } + if p.Annotations != nil { + objectMap["annotations"] = p.Annotations + } + if p.RunDimensions != nil { + objectMap["runDimensions"] = p.RunDimensions + } + if p.Folder != nil { + objectMap["folder"] = p.Folder + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Pipeline struct. +func (p *Pipeline) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + p.Description = &description + } + case "activities": + if v != nil { + activities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + p.Activities = &activities + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + p.Parameters = parameters + } + case "variables": + if v != nil { + var variables map[string]*VariableSpecification + err = json.Unmarshal(*v, &variables) + if err != nil { + return err + } + p.Variables = variables + } + case "concurrency": + if v != nil { + var concurrency int32 + err = json.Unmarshal(*v, &concurrency) + if err != nil { + return err + } + p.Concurrency = &concurrency + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + p.Annotations = &annotations + } + case "runDimensions": + if v != nil { + var runDimensions map[string]interface{} + err = json.Unmarshal(*v, &runDimensions) + if err != nil { + return err + } + p.RunDimensions = runDimensions + } + case "folder": + if v != nil { + var folder PipelineFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + p.Folder = &folder + } + } + } + + return nil +} + +// PipelineFolder the folder that this Pipeline is in. If not specified, Pipeline will appear at the root +// level. +type PipelineFolder struct { + // Name - The name of the folder that this Pipeline is in. + Name *string `json:"name,omitempty"` +} + +// PipelineListResponse a list of pipeline resources. +type PipelineListResponse struct { + autorest.Response `json:"-"` + // Value - List of pipelines. + Value *[]PipelineResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// PipelineListResponseIterator provides access to a complete listing of PipelineResource values. +type PipelineListResponseIterator struct { + i int + page PipelineListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PipelineListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PipelineListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PipelineListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PipelineListResponseIterator) Response() PipelineListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PipelineListResponseIterator) Value() PipelineResource { + if !iter.page.NotDone() { + return PipelineResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PipelineListResponseIterator type. +func NewPipelineListResponseIterator(page PipelineListResponsePage) PipelineListResponseIterator { + return PipelineListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (plr PipelineListResponse) IsEmpty() bool { + return plr.Value == nil || len(*plr.Value) == 0 +} + +// pipelineListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (plr PipelineListResponse) pipelineListResponsePreparer(ctx context.Context) (*http.Request, error) { + if plr.NextLink == nil || len(to.String(plr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(plr.NextLink))) +} + +// PipelineListResponsePage contains a page of PipelineResource values. +type PipelineListResponsePage struct { + fn func(context.Context, PipelineListResponse) (PipelineListResponse, error) + plr PipelineListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PipelineListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.plr) + if err != nil { + return err + } + page.plr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PipelineListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PipelineListResponsePage) NotDone() bool { + return !page.plr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PipelineListResponsePage) Response() PipelineListResponse { + return page.plr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PipelineListResponsePage) Values() []PipelineResource { + if page.plr.IsEmpty() { + return nil + } + return *page.plr.Value +} + +// Creates a new instance of the PipelineListResponsePage type. +func NewPipelineListResponsePage(getNextPage func(context.Context, PipelineListResponse) (PipelineListResponse, error)) PipelineListResponsePage { + return PipelineListResponsePage{fn: getNextPage} +} + +// PipelineReference pipeline reference type. +type PipelineReference struct { + // Type - Pipeline reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference pipeline name. + ReferenceName *string `json:"referenceName,omitempty"` + // Name - Reference name. + Name *string `json:"name,omitempty"` +} + +// PipelineResource pipeline resource type. +type PipelineResource struct { + autorest.Response `json:"-"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Pipeline - Properties of the pipeline. + *Pipeline `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for PipelineResource. +func (pr PipelineResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pr.Pipeline != nil { + objectMap["properties"] = pr.Pipeline + } + for k, v := range pr.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PipelineResource struct. +func (pr *PipelineResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pr.AdditionalProperties == nil { + pr.AdditionalProperties = make(map[string]interface{}) + } + pr.AdditionalProperties[k] = additionalProperties + } + case "properties": + if v != nil { + var pipeline Pipeline + err = json.Unmarshal(*v, &pipeline) + if err != nil { + return err + } + pr.Pipeline = &pipeline + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pr.Etag = &etag + } + } + } + + return nil +} + +// PipelineRun information about a pipeline run. +type PipelineRun struct { + autorest.Response `json:"-"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // RunID - READ-ONLY; Identifier of a run. + RunID *string `json:"runId,omitempty"` + // RunGroupID - READ-ONLY; Identifier that correlates all the recovery runs of a pipeline run. + RunGroupID *string `json:"runGroupId,omitempty"` + // IsLatest - READ-ONLY; Indicates if the recovered pipeline run is the latest in its group. + IsLatest *bool `json:"isLatest,omitempty"` + // PipelineName - READ-ONLY; The pipeline name. + PipelineName *string `json:"pipelineName,omitempty"` + // Parameters - READ-ONLY; The full or partial list of parameter name, value pair used in the pipeline run. + Parameters map[string]*string `json:"parameters"` + // InvokedBy - READ-ONLY; Entity that started the pipeline run. + InvokedBy *PipelineRunInvokedBy `json:"invokedBy,omitempty"` + // LastUpdated - READ-ONLY; The last updated timestamp for the pipeline run event in ISO8601 format. + LastUpdated *date.Time `json:"lastUpdated,omitempty"` + // RunStart - READ-ONLY; The start time of a pipeline run in ISO8601 format. + RunStart *date.Time `json:"runStart,omitempty"` + // RunEnd - READ-ONLY; The end time of a pipeline run in ISO8601 format. + RunEnd *date.Time `json:"runEnd,omitempty"` + // DurationInMs - READ-ONLY; The duration of a pipeline run. + DurationInMs *int32 `json:"durationInMs,omitempty"` + // Status - READ-ONLY; The status of a pipeline run. + Status *string `json:"status,omitempty"` + // Message - READ-ONLY; The message from a pipeline run. + Message *string `json:"message,omitempty"` +} + +// MarshalJSON is the custom marshaler for PipelineRun. +func (pr PipelineRun) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + for k, v := range pr.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PipelineRun struct. +func (pr *PipelineRun) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pr.AdditionalProperties == nil { + pr.AdditionalProperties = make(map[string]interface{}) + } + pr.AdditionalProperties[k] = additionalProperties + } + case "runId": + if v != nil { + var runID string + err = json.Unmarshal(*v, &runID) + if err != nil { + return err + } + pr.RunID = &runID + } + case "runGroupId": + if v != nil { + var runGroupID string + err = json.Unmarshal(*v, &runGroupID) + if err != nil { + return err + } + pr.RunGroupID = &runGroupID + } + case "isLatest": + if v != nil { + var isLatest bool + err = json.Unmarshal(*v, &isLatest) + if err != nil { + return err + } + pr.IsLatest = &isLatest + } + case "pipelineName": + if v != nil { + var pipelineName string + err = json.Unmarshal(*v, &pipelineName) + if err != nil { + return err + } + pr.PipelineName = &pipelineName + } + case "parameters": + if v != nil { + var parameters map[string]*string + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pr.Parameters = parameters + } + case "invokedBy": + if v != nil { + var invokedBy PipelineRunInvokedBy + err = json.Unmarshal(*v, &invokedBy) + if err != nil { + return err + } + pr.InvokedBy = &invokedBy + } + case "lastUpdated": + if v != nil { + var lastUpdated date.Time + err = json.Unmarshal(*v, &lastUpdated) + if err != nil { + return err + } + pr.LastUpdated = &lastUpdated + } + case "runStart": + if v != nil { + var runStart date.Time + err = json.Unmarshal(*v, &runStart) + if err != nil { + return err + } + pr.RunStart = &runStart + } + case "runEnd": + if v != nil { + var runEnd date.Time + err = json.Unmarshal(*v, &runEnd) + if err != nil { + return err + } + pr.RunEnd = &runEnd + } + case "durationInMs": + if v != nil { + var durationInMs int32 + err = json.Unmarshal(*v, &durationInMs) + if err != nil { + return err + } + pr.DurationInMs = &durationInMs + } + case "status": + if v != nil { + var status string + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + pr.Status = &status + } + case "message": + if v != nil { + var message string + err = json.Unmarshal(*v, &message) + if err != nil { + return err + } + pr.Message = &message + } + } + } + + return nil +} + +// PipelineRunInvokedBy provides entity name and id that started the pipeline run. +type PipelineRunInvokedBy struct { + // Name - READ-ONLY; Name of the entity that started the pipeline run. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of the entity that started the run. + ID *string `json:"id,omitempty"` + // InvokedByType - READ-ONLY; The type of the entity that started the run. + InvokedByType *string `json:"invokedByType,omitempty"` +} + +// PipelineRunsQueryResponse a list pipeline runs. +type PipelineRunsQueryResponse struct { + autorest.Response `json:"-"` + // Value - List of pipeline runs. + Value *[]PipelineRun `json:"value,omitempty"` + // ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise. + ContinuationToken *string `json:"continuationToken,omitempty"` +} + +// PolybaseSettings polyBase settings. +type PolybaseSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // RejectType - Reject type. Possible values include: 'Value', 'Percentage' + RejectType PolybaseSettingsRejectType `json:"rejectType,omitempty"` + // 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. + RejectValue interface{} `json:"rejectValue,omitempty"` + // 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. + RejectSampleValue interface{} `json:"rejectSampleValue,omitempty"` + // 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). + UseTypeDefault interface{} `json:"useTypeDefault,omitempty"` +} + +// MarshalJSON is the custom marshaler for PolybaseSettings. +func (ps PolybaseSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ps.RejectType != "" { + objectMap["rejectType"] = ps.RejectType + } + if ps.RejectValue != nil { + objectMap["rejectValue"] = ps.RejectValue + } + if ps.RejectSampleValue != nil { + objectMap["rejectSampleValue"] = ps.RejectSampleValue + } + if ps.UseTypeDefault != nil { + objectMap["useTypeDefault"] = ps.UseTypeDefault + } + for k, v := range ps.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PolybaseSettings struct. +func (ps *PolybaseSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ps.AdditionalProperties == nil { + ps.AdditionalProperties = make(map[string]interface{}) + } + ps.AdditionalProperties[k] = additionalProperties + } + case "rejectType": + if v != nil { + var rejectType PolybaseSettingsRejectType + err = json.Unmarshal(*v, &rejectType) + if err != nil { + return err + } + ps.RejectType = rejectType + } + case "rejectValue": + if v != nil { + var rejectValue interface{} + err = json.Unmarshal(*v, &rejectValue) + if err != nil { + return err + } + ps.RejectValue = rejectValue + } + case "rejectSampleValue": + if v != nil { + var rejectSampleValue interface{} + err = json.Unmarshal(*v, &rejectSampleValue) + if err != nil { + return err + } + ps.RejectSampleValue = rejectSampleValue + } + case "useTypeDefault": + if v != nil { + var useTypeDefault interface{} + err = json.Unmarshal(*v, &useTypeDefault) + if err != nil { + return err + } + ps.UseTypeDefault = useTypeDefault + } + } + } + + return nil +} + +// PostgreSQLLinkedService linked service for PostgreSQL data source. +type PostgreSQLLinkedService struct { + // PostgreSQLLinkedServiceTypeProperties - PostgreSQL linked service properties. + *PostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) MarshalJSON() ([]byte, error) { + psls.Type = TypePostgreSQL + objectMap := make(map[string]interface{}) + if psls.PostgreSQLLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = psls.PostgreSQLLinkedServiceTypeProperties + } + if psls.ConnectVia != nil { + objectMap["connectVia"] = psls.ConnectVia + } + if psls.Description != nil { + objectMap["description"] = psls.Description + } + if psls.Parameters != nil { + objectMap["parameters"] = psls.Parameters + } + if psls.Annotations != nil { + objectMap["annotations"] = psls.Annotations + } + if psls.Type != "" { + objectMap["type"] = psls.Type + } + for k, v := range psls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return &psls, true +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &psls, true +} + +// UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedService struct. +func (psls *PostgreSQLLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var postgreSQLLinkedServiceTypeProperties PostgreSQLLinkedServiceTypeProperties + err = json.Unmarshal(*v, &postgreSQLLinkedServiceTypeProperties) + if err != nil { + return err + } + psls.PostgreSQLLinkedServiceTypeProperties = &postgreSQLLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if psls.AdditionalProperties == nil { + psls.AdditionalProperties = make(map[string]interface{}) + } + psls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + psls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + psls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + psls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + psls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + psls.Type = typeVar + } + } + } + + return nil +} + +// PostgreSQLLinkedServiceTypeProperties postgreSQL linked service properties. +type PostgreSQLLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// PostgreSQLSource a copy activity source for PostgreSQL databases. +type PostgreSQLSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PostgreSQLSource. +func (pss PostgreSQLSource) MarshalJSON() ([]byte, error) { + pss.Type = TypePostgreSQLSource + objectMap := make(map[string]interface{}) + if pss.Query != nil { + objectMap["query"] = pss.Query + } + if pss.QueryTimeout != nil { + objectMap["queryTimeout"] = pss.QueryTimeout + } + if pss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = pss.SourceRetryCount + } + if pss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = pss.SourceRetryWait + } + if pss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = pss.MaxConcurrentConnections + } + if pss.Type != "" { + objectMap["type"] = pss.Type + } + for k, v := range pss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return &pss, true +} + +// AsMySQLSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &pss, true +} + +// AsBinarySource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) { + return &pss, true +} + +// UnmarshalJSON is the custom unmarshaler for PostgreSQLSource struct. +func (pss *PostgreSQLSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + pss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + pss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pss.AdditionalProperties == nil { + pss.AdditionalProperties = make(map[string]interface{}) + } + pss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + pss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + pss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + pss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pss.Type = typeVar + } + } + } + + return nil +} + +// PostgreSQLTableDataset the PostgreSQL table dataset. +type PostgreSQLTableDataset struct { + // PostgreSQLTableDatasetTypeProperties - PostgreSQL table dataset properties. + *PostgreSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) MarshalJSON() ([]byte, error) { + pstd.Type = TypePostgreSQLTable + objectMap := make(map[string]interface{}) + if pstd.PostgreSQLTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = pstd.PostgreSQLTableDatasetTypeProperties + } + if pstd.Description != nil { + objectMap["description"] = pstd.Description + } + if pstd.Structure != nil { + objectMap["structure"] = pstd.Structure + } + if pstd.Schema != nil { + objectMap["schema"] = pstd.Schema + } + if pstd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = pstd.LinkedServiceName + } + if pstd.Parameters != nil { + objectMap["parameters"] = pstd.Parameters + } + if pstd.Annotations != nil { + objectMap["annotations"] = pstd.Annotations + } + if pstd.Folder != nil { + objectMap["folder"] = pstd.Folder + } + if pstd.Type != "" { + objectMap["type"] = pstd.Type + } + for k, v := range pstd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return &pstd, true +} + +// AsMySQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &pstd, true +} + +// UnmarshalJSON is the custom unmarshaler for PostgreSQLTableDataset struct. +func (pstd *PostgreSQLTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var postgreSQLTableDatasetTypeProperties PostgreSQLTableDatasetTypeProperties + err = json.Unmarshal(*v, &postgreSQLTableDatasetTypeProperties) + if err != nil { + return err + } + pstd.PostgreSQLTableDatasetTypeProperties = &postgreSQLTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pstd.AdditionalProperties == nil { + pstd.AdditionalProperties = make(map[string]interface{}) + } + pstd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pstd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + pstd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + pstd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + pstd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pstd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pstd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + pstd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pstd.Type = typeVar + } + } + } + + return nil +} + +// PostgreSQLTableDatasetTypeProperties postgreSQL table dataset properties. +type PostgreSQLTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The PostgreSQL table name. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The PostgreSQL schema name. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// PrestoDatasetTypeProperties presto Dataset Properties +type PrestoDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Presto. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Presto. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// PrestoLinkedService presto server linked service. +type PrestoLinkedService struct { + // PrestoLinkedServiceTypeProperties - Presto server linked service properties. + *PrestoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrestoLinkedService. +func (pls PrestoLinkedService) MarshalJSON() ([]byte, error) { + pls.Type = TypePresto + objectMap := make(map[string]interface{}) + if pls.PrestoLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = pls.PrestoLinkedServiceTypeProperties + } + if pls.ConnectVia != nil { + objectMap["connectVia"] = pls.ConnectVia + } + if pls.Description != nil { + objectMap["description"] = pls.Description + } + if pls.Parameters != nil { + objectMap["parameters"] = pls.Parameters + } + if pls.Annotations != nil { + objectMap["annotations"] = pls.Annotations + } + if pls.Type != "" { + objectMap["type"] = pls.Type + } + for k, v := range pls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return &pls, true +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &pls, true +} + +// UnmarshalJSON is the custom unmarshaler for PrestoLinkedService struct. +func (pls *PrestoLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var prestoLinkedServiceTypeProperties PrestoLinkedServiceTypeProperties + err = json.Unmarshal(*v, &prestoLinkedServiceTypeProperties) + if err != nil { + return err + } + pls.PrestoLinkedServiceTypeProperties = &prestoLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pls.AdditionalProperties == nil { + pls.AdditionalProperties = make(map[string]interface{}) + } + pls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + pls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pls.Type = typeVar + } + } + } + + return nil +} + +// PrestoLinkedServiceTypeProperties presto server linked service properties. +type PrestoLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the Presto server. (i.e. 192.168.222.160) + Host interface{} `json:"host,omitempty"` + // ServerVersion - The version of the Presto server. (i.e. 0.148-t) + ServerVersion interface{} `json:"serverVersion,omitempty"` + // Catalog - The catalog context for all request against the server. + Catalog interface{} `json:"catalog,omitempty"` + // Port - The TCP port that the Presto server uses to listen for client connections. The default value is 8080. + Port interface{} `json:"port,omitempty"` + // AuthenticationType - The authentication mechanism used to connect to the Presto server. Possible values include: 'PrestoAuthenticationTypeAnonymous', 'PrestoAuthenticationTypeLDAP' + AuthenticationType PrestoAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name used to connect to the Presto server. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name. + Password BasicSecretBase `json:"password,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // 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. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // 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. + TimeZoneID interface{} `json:"timeZoneID,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for PrestoLinkedServiceTypeProperties struct. +func (plstp *PrestoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + plstp.Host = host + } + case "serverVersion": + if v != nil { + var serverVersion interface{} + err = json.Unmarshal(*v, &serverVersion) + if err != nil { + return err + } + plstp.ServerVersion = serverVersion + } + case "catalog": + if v != nil { + var catalog interface{} + err = json.Unmarshal(*v, &catalog) + if err != nil { + return err + } + plstp.Catalog = catalog + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + plstp.Port = port + } + case "authenticationType": + if v != nil { + var authenticationType PrestoAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + plstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + plstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + plstp.Password = password + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + plstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + plstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + plstp.UseSystemTrustStore = useSystemTrustStore + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "timeZoneID": + if v != nil { + var timeZoneID interface{} + err = json.Unmarshal(*v, &timeZoneID) + if err != nil { + return err + } + plstp.TimeZoneID = timeZoneID + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + plstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// PrestoObjectDataset presto server dataset. +type PrestoObjectDataset struct { + // PrestoDatasetTypeProperties - Properties specific to this dataset type. + *PrestoDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrestoObjectDataset. +func (pod PrestoObjectDataset) MarshalJSON() ([]byte, error) { + pod.Type = TypePrestoObject + objectMap := make(map[string]interface{}) + if pod.PrestoDatasetTypeProperties != nil { + objectMap["typeProperties"] = pod.PrestoDatasetTypeProperties + } + if pod.Description != nil { + objectMap["description"] = pod.Description + } + if pod.Structure != nil { + objectMap["structure"] = pod.Structure + } + if pod.Schema != nil { + objectMap["schema"] = pod.Schema + } + if pod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = pod.LinkedServiceName + } + if pod.Parameters != nil { + objectMap["parameters"] = pod.Parameters + } + if pod.Annotations != nil { + objectMap["annotations"] = pod.Annotations + } + if pod.Folder != nil { + objectMap["folder"] = pod.Folder + } + if pod.Type != "" { + objectMap["type"] = pod.Type + } + for k, v := range pod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return &pod, true +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &pod, true +} + +// UnmarshalJSON is the custom unmarshaler for PrestoObjectDataset struct. +func (pod *PrestoObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var prestoDatasetTypeProperties PrestoDatasetTypeProperties + err = json.Unmarshal(*v, &prestoDatasetTypeProperties) + if err != nil { + return err + } + pod.PrestoDatasetTypeProperties = &prestoDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if pod.AdditionalProperties == nil { + pod.AdditionalProperties = make(map[string]interface{}) + } + pod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + pod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + pod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + pod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + pod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + pod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + pod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + pod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pod.Type = typeVar + } + } + } + + return nil +} + +// PrestoSource a copy activity Presto server source. +type PrestoSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrestoSource. +func (ps PrestoSource) MarshalJSON() ([]byte, error) { + ps.Type = TypePrestoSource + objectMap := make(map[string]interface{}) + if ps.Query != nil { + objectMap["query"] = ps.Query + } + if ps.QueryTimeout != nil { + objectMap["queryTimeout"] = ps.QueryTimeout + } + if ps.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ps.SourceRetryCount + } + if ps.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ps.SourceRetryWait + } + if ps.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections + } + if ps.Type != "" { + objectMap["type"] = ps.Type + } + for k, v := range ps.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsPrestoSource() (*PrestoSource, bool) { + return &ps, true +} + +// AsPhoenixSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ps, true +} + +// AsBinarySource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ps, true +} + +// UnmarshalJSON is the custom unmarshaler for PrestoSource struct. +func (ps *PrestoSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ps.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ps.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ps.AdditionalProperties == nil { + ps.AdditionalProperties = make(map[string]interface{}) + } + ps.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ps.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ps.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ps.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ps.Type = typeVar + } + } + } + + return nil +} + +// QueryDataFlowDebugSessionsResponse a list of active debug sessions. +type QueryDataFlowDebugSessionsResponse struct { + autorest.Response `json:"-"` + // Value - Array with all active debug sessions. + Value *[]DataFlowDebugSessionInfo `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// QueryDataFlowDebugSessionsResponseIterator provides access to a complete listing of +// DataFlowDebugSessionInfo values. +type QueryDataFlowDebugSessionsResponseIterator struct { + i int + page QueryDataFlowDebugSessionsResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *QueryDataFlowDebugSessionsResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QueryDataFlowDebugSessionsResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *QueryDataFlowDebugSessionsResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter QueryDataFlowDebugSessionsResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter QueryDataFlowDebugSessionsResponseIterator) Response() QueryDataFlowDebugSessionsResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter QueryDataFlowDebugSessionsResponseIterator) Value() DataFlowDebugSessionInfo { + if !iter.page.NotDone() { + return DataFlowDebugSessionInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the QueryDataFlowDebugSessionsResponseIterator type. +func NewQueryDataFlowDebugSessionsResponseIterator(page QueryDataFlowDebugSessionsResponsePage) QueryDataFlowDebugSessionsResponseIterator { + return QueryDataFlowDebugSessionsResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (qdfdsr QueryDataFlowDebugSessionsResponse) IsEmpty() bool { + return qdfdsr.Value == nil || len(*qdfdsr.Value) == 0 +} + +// queryDataFlowDebugSessionsResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (qdfdsr QueryDataFlowDebugSessionsResponse) queryDataFlowDebugSessionsResponsePreparer(ctx context.Context) (*http.Request, error) { + if qdfdsr.NextLink == nil || len(to.String(qdfdsr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(qdfdsr.NextLink))) +} + +// QueryDataFlowDebugSessionsResponsePage contains a page of DataFlowDebugSessionInfo values. +type QueryDataFlowDebugSessionsResponsePage struct { + fn func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error) + qdfdsr QueryDataFlowDebugSessionsResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *QueryDataFlowDebugSessionsResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QueryDataFlowDebugSessionsResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.qdfdsr) + if err != nil { + return err + } + page.qdfdsr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *QueryDataFlowDebugSessionsResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page QueryDataFlowDebugSessionsResponsePage) NotDone() bool { + return !page.qdfdsr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page QueryDataFlowDebugSessionsResponsePage) Response() QueryDataFlowDebugSessionsResponse { + return page.qdfdsr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page QueryDataFlowDebugSessionsResponsePage) Values() []DataFlowDebugSessionInfo { + if page.qdfdsr.IsEmpty() { + return nil + } + return *page.qdfdsr.Value +} + +// Creates a new instance of the QueryDataFlowDebugSessionsResponsePage type. +func NewQueryDataFlowDebugSessionsResponsePage(getNextPage func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error)) QueryDataFlowDebugSessionsResponsePage { + return QueryDataFlowDebugSessionsResponsePage{fn: getNextPage} +} + +// QuickBooksLinkedService quickBooks server linked service. +type QuickBooksLinkedService struct { + // QuickBooksLinkedServiceTypeProperties - QuickBooks server linked service properties. + *QuickBooksLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) MarshalJSON() ([]byte, error) { + qbls.Type = TypeQuickBooks + objectMap := make(map[string]interface{}) + if qbls.QuickBooksLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = qbls.QuickBooksLinkedServiceTypeProperties + } + if qbls.ConnectVia != nil { + objectMap["connectVia"] = qbls.ConnectVia + } + if qbls.Description != nil { + objectMap["description"] = qbls.Description + } + if qbls.Parameters != nil { + objectMap["parameters"] = qbls.Parameters + } + if qbls.Annotations != nil { + objectMap["annotations"] = qbls.Annotations + } + if qbls.Type != "" { + objectMap["type"] = qbls.Type + } + for k, v := range qbls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return &qbls, true +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &qbls, true +} + +// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedService struct. +func (qbls *QuickBooksLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var quickBooksLinkedServiceTypeProperties QuickBooksLinkedServiceTypeProperties + err = json.Unmarshal(*v, &quickBooksLinkedServiceTypeProperties) + if err != nil { + return err + } + qbls.QuickBooksLinkedServiceTypeProperties = &quickBooksLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if qbls.AdditionalProperties == nil { + qbls.AdditionalProperties = make(map[string]interface{}) + } + qbls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + qbls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + qbls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + qbls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + qbls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + qbls.Type = typeVar + } + } + } + + return nil +} + +// QuickBooksLinkedServiceTypeProperties quickBooks server linked service properties. +type QuickBooksLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the QuickBooks server. (i.e. quickbooks.api.intuit.com) + Endpoint interface{} `json:"endpoint,omitempty"` + // CompanyID - The company ID of the QuickBooks company to authorize. + CompanyID interface{} `json:"companyId,omitempty"` + // ConsumerKey - The consumer key for OAuth 1.0 authentication. + ConsumerKey interface{} `json:"consumerKey,omitempty"` + // ConsumerSecret - The consumer secret for OAuth 1.0 authentication. + ConsumerSecret BasicSecretBase `json:"consumerSecret,omitempty"` + // AccessToken - The access token for OAuth 1.0 authentication. + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // AccessTokenSecret - The access token secret for OAuth 1.0 authentication. + AccessTokenSecret BasicSecretBase `json:"accessTokenSecret,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedServiceTypeProperties struct. +func (qblstp *QuickBooksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + qblstp.Endpoint = endpoint + } + case "companyId": + if v != nil { + var companyID interface{} + err = json.Unmarshal(*v, &companyID) + if err != nil { + return err + } + qblstp.CompanyID = companyID + } + case "consumerKey": + if v != nil { + var consumerKey interface{} + err = json.Unmarshal(*v, &consumerKey) + if err != nil { + return err + } + qblstp.ConsumerKey = consumerKey + } + case "consumerSecret": + if v != nil { + consumerSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + qblstp.ConsumerSecret = consumerSecret + } + case "accessToken": + if v != nil { + accessToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + qblstp.AccessToken = accessToken + } + case "accessTokenSecret": + if v != nil { + accessTokenSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + qblstp.AccessTokenSecret = accessTokenSecret + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + qblstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + qblstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// QuickBooksObjectDataset quickBooks server dataset. +type QuickBooksObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) MarshalJSON() ([]byte, error) { + qbod.Type = TypeQuickBooksObject + objectMap := make(map[string]interface{}) + if qbod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = qbod.GenericDatasetTypeProperties + } + if qbod.Description != nil { + objectMap["description"] = qbod.Description + } + if qbod.Structure != nil { + objectMap["structure"] = qbod.Structure + } + if qbod.Schema != nil { + objectMap["schema"] = qbod.Schema + } + if qbod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = qbod.LinkedServiceName + } + if qbod.Parameters != nil { + objectMap["parameters"] = qbod.Parameters + } + if qbod.Annotations != nil { + objectMap["annotations"] = qbod.Annotations + } + if qbod.Folder != nil { + objectMap["folder"] = qbod.Folder + } + if qbod.Type != "" { + objectMap["type"] = qbod.Type + } + for k, v := range qbod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return &qbod, true +} + +// AsPrestoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &qbod, true +} + +// UnmarshalJSON is the custom unmarshaler for QuickBooksObjectDataset struct. +func (qbod *QuickBooksObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + qbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if qbod.AdditionalProperties == nil { + qbod.AdditionalProperties = make(map[string]interface{}) + } + qbod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + qbod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + qbod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + qbod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + qbod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + qbod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + qbod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + qbod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + qbod.Type = typeVar + } + } + } + + return nil +} + +// QuickBooksSource a copy activity QuickBooks server source. +type QuickBooksSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for QuickBooksSource. +func (qbs QuickBooksSource) MarshalJSON() ([]byte, error) { + qbs.Type = TypeQuickBooksSource + objectMap := make(map[string]interface{}) + if qbs.Query != nil { + objectMap["query"] = qbs.Query + } + if qbs.QueryTimeout != nil { + objectMap["queryTimeout"] = qbs.QueryTimeout + } + if qbs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = qbs.SourceRetryCount + } + if qbs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = qbs.SourceRetryWait + } + if qbs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = qbs.MaxConcurrentConnections + } + if qbs.Type != "" { + objectMap["type"] = qbs.Type + } + for k, v := range qbs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return &qbs, true +} + +// AsPrestoSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &qbs, true +} + +// AsBinarySource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsBasicCopySource() (BasicCopySource, bool) { + return &qbs, true +} + +// UnmarshalJSON is the custom unmarshaler for QuickBooksSource struct. +func (qbs *QuickBooksSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + qbs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + qbs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if qbs.AdditionalProperties == nil { + qbs.AdditionalProperties = make(map[string]interface{}) + } + qbs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + qbs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + qbs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + qbs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + qbs.Type = typeVar + } + } + } + + return nil +} + +// RecurrenceSchedule the recurrence schedule. +type RecurrenceSchedule struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Minutes - The minutes. + Minutes *[]int32 `json:"minutes,omitempty"` + // Hours - The hours. + Hours *[]int32 `json:"hours,omitempty"` + // WeekDays - The days of the week. + WeekDays *[]DaysOfWeek `json:"weekDays,omitempty"` + // MonthDays - The month days. + MonthDays *[]int32 `json:"monthDays,omitempty"` + // MonthlyOccurrences - The monthly occurrences. + MonthlyOccurrences *[]RecurrenceScheduleOccurrence `json:"monthlyOccurrences,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecurrenceSchedule. +func (rs RecurrenceSchedule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rs.Minutes != nil { + objectMap["minutes"] = rs.Minutes + } + if rs.Hours != nil { + objectMap["hours"] = rs.Hours + } + if rs.WeekDays != nil { + objectMap["weekDays"] = rs.WeekDays + } + if rs.MonthDays != nil { + objectMap["monthDays"] = rs.MonthDays + } + if rs.MonthlyOccurrences != nil { + objectMap["monthlyOccurrences"] = rs.MonthlyOccurrences + } + for k, v := range rs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RecurrenceSchedule struct. +func (rs *RecurrenceSchedule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rs.AdditionalProperties == nil { + rs.AdditionalProperties = make(map[string]interface{}) + } + rs.AdditionalProperties[k] = additionalProperties + } + case "minutes": + if v != nil { + var minutes []int32 + err = json.Unmarshal(*v, &minutes) + if err != nil { + return err + } + rs.Minutes = &minutes + } + case "hours": + if v != nil { + var hours []int32 + err = json.Unmarshal(*v, &hours) + if err != nil { + return err + } + rs.Hours = &hours + } + case "weekDays": + if v != nil { + var weekDays []DaysOfWeek + err = json.Unmarshal(*v, &weekDays) + if err != nil { + return err + } + rs.WeekDays = &weekDays + } + case "monthDays": + if v != nil { + var monthDays []int32 + err = json.Unmarshal(*v, &monthDays) + if err != nil { + return err + } + rs.MonthDays = &monthDays + } + case "monthlyOccurrences": + if v != nil { + var monthlyOccurrences []RecurrenceScheduleOccurrence + err = json.Unmarshal(*v, &monthlyOccurrences) + if err != nil { + return err + } + rs.MonthlyOccurrences = &monthlyOccurrences + } + } + } + + return nil +} + +// RecurrenceScheduleOccurrence the recurrence schedule occurrence. +type RecurrenceScheduleOccurrence struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Day - The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + Day DayOfWeek `json:"day,omitempty"` + // Occurrence - The occurrence. + Occurrence *int32 `json:"occurrence,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecurrenceScheduleOccurrence. +func (rso RecurrenceScheduleOccurrence) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rso.Day != "" { + objectMap["day"] = rso.Day + } + if rso.Occurrence != nil { + objectMap["occurrence"] = rso.Occurrence + } + for k, v := range rso.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RecurrenceScheduleOccurrence struct. +func (rso *RecurrenceScheduleOccurrence) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rso.AdditionalProperties == nil { + rso.AdditionalProperties = make(map[string]interface{}) + } + rso.AdditionalProperties[k] = additionalProperties + } + case "day": + if v != nil { + var day DayOfWeek + err = json.Unmarshal(*v, &day) + if err != nil { + return err + } + rso.Day = day + } + case "occurrence": + if v != nil { + var occurrence int32 + err = json.Unmarshal(*v, &occurrence) + if err != nil { + return err + } + rso.Occurrence = &occurrence + } + } + } + + return nil +} + +// RedirectIncompatibleRowSettings redirect incompatible row settings +type RedirectIncompatibleRowSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // 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). + LinkedServiceName interface{} `json:"linkedServiceName,omitempty"` + // Path - The path for storing the redirect incompatible row data. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// MarshalJSON is the custom marshaler for RedirectIncompatibleRowSettings. +func (rirs RedirectIncompatibleRowSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rirs.LinkedServiceName != nil { + objectMap["linkedServiceName"] = rirs.LinkedServiceName + } + if rirs.Path != nil { + objectMap["path"] = rirs.Path + } + for k, v := range rirs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RedirectIncompatibleRowSettings struct. +func (rirs *RedirectIncompatibleRowSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rirs.AdditionalProperties == nil { + rirs.AdditionalProperties = make(map[string]interface{}) + } + rirs.AdditionalProperties[k] = additionalProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName interface{} + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + rirs.LinkedServiceName = linkedServiceName + } + case "path": + if v != nil { + var pathVar interface{} + err = json.Unmarshal(*v, &pathVar) + if err != nil { + return err + } + rirs.Path = pathVar + } + } + } + + return nil +} + +// 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. +type RedshiftUnloadSettings struct { + // S3LinkedServiceName - The name of the Amazon S3 linked service which will be used for the unload operation when copying from the Amazon Redshift source. + S3LinkedServiceName *LinkedServiceReference `json:"s3LinkedServiceName,omitempty"` + // 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). + BucketName interface{} `json:"bucketName,omitempty"` +} + +// RelationalSource a copy activity source for various relational databases. +type RelationalSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RelationalSource. +func (rs RelationalSource) MarshalJSON() ([]byte, error) { + rs.Type = TypeRelationalSource + objectMap := make(map[string]interface{}) + if rs.Query != nil { + objectMap["query"] = rs.Query + } + if rs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = rs.SourceRetryCount + } + if rs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = rs.SourceRetryWait + } + if rs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections + } + if rs.Type != "" { + objectMap["type"] = rs.Type + } + for k, v := range rs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsRelationalSource() (*RelationalSource, bool) { + return &rs, true +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsBasicCopySource() (BasicCopySource, bool) { + return &rs, true +} + +// UnmarshalJSON is the custom unmarshaler for RelationalSource struct. +func (rs *RelationalSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + rs.Query = query + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rs.AdditionalProperties == nil { + rs.AdditionalProperties = make(map[string]interface{}) + } + rs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + rs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + rs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + rs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rs.Type = typeVar + } + } + } + + return nil +} + +// RelationalTableDataset the relational table dataset. +type RelationalTableDataset struct { + // RelationalTableDatasetTypeProperties - Relational table dataset properties. + *RelationalTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RelationalTableDataset. +func (rtd RelationalTableDataset) MarshalJSON() ([]byte, error) { + rtd.Type = TypeRelationalTable + objectMap := make(map[string]interface{}) + if rtd.RelationalTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = rtd.RelationalTableDatasetTypeProperties + } + if rtd.Description != nil { + objectMap["description"] = rtd.Description + } + if rtd.Structure != nil { + objectMap["structure"] = rtd.Structure + } + if rtd.Schema != nil { + objectMap["schema"] = rtd.Schema + } + if rtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = rtd.LinkedServiceName + } + if rtd.Parameters != nil { + objectMap["parameters"] = rtd.Parameters + } + if rtd.Annotations != nil { + objectMap["annotations"] = rtd.Annotations + } + if rtd.Folder != nil { + objectMap["folder"] = rtd.Folder + } + if rtd.Type != "" { + objectMap["type"] = rtd.Type + } + for k, v := range rtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return &rtd, true +} + +// AsDb2TableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &rtd, true +} + +// UnmarshalJSON is the custom unmarshaler for RelationalTableDataset struct. +func (rtd *RelationalTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var relationalTableDatasetTypeProperties RelationalTableDatasetTypeProperties + err = json.Unmarshal(*v, &relationalTableDatasetTypeProperties) + if err != nil { + return err + } + rtd.RelationalTableDatasetTypeProperties = &relationalTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rtd.AdditionalProperties == nil { + rtd.AdditionalProperties = make(map[string]interface{}) + } + rtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + rtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + rtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + rtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + rtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + rtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + rtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + rtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rtd.Type = typeVar + } + } + } + + return nil +} + +// RelationalTableDatasetTypeProperties relational table dataset properties. +type RelationalTableDatasetTypeProperties struct { + // TableName - The relational table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// RerunTriggerListResponse a list of rerun triggers. +type RerunTriggerListResponse struct { + // Value - List of rerun triggers. + Value *[]RerunTriggerResource `json:"value,omitempty"` + // NextLink - READ-ONLY; The continuation token for getting the next page of results, if any remaining results exist, null otherwise. + NextLink *string `json:"nextLink,omitempty"` +} + +// RerunTriggerResource rerunTrigger resource type. +type RerunTriggerResource struct { + // Properties - Properties of the rerun trigger. + Properties *RerunTumblingWindowTrigger `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// RerunTumblingWindowTrigger trigger that schedules pipeline reruns for all fixed time interval windows +// from a requested start time to requested end time. +type RerunTumblingWindowTrigger struct { + // RerunTumblingWindowTriggerTypeProperties - Rerun Trigger properties. + *RerunTumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) MarshalJSON() ([]byte, error) { + rtwt.Type = TypeRerunTumblingWindowTrigger + objectMap := make(map[string]interface{}) + if rtwt.RerunTumblingWindowTriggerTypeProperties != nil { + objectMap["typeProperties"] = rtwt.RerunTumblingWindowTriggerTypeProperties + } + if rtwt.Description != nil { + objectMap["description"] = rtwt.Description + } + if rtwt.Annotations != nil { + objectMap["annotations"] = rtwt.Annotations + } + if rtwt.Type != "" { + objectMap["type"] = rtwt.Type + } + for k, v := range rtwt.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return &rtwt, true +} + +// AsChainingTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return nil, false +} + +// AsTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &rtwt, true +} + +// UnmarshalJSON is the custom unmarshaler for RerunTumblingWindowTrigger struct. +func (rtwt *RerunTumblingWindowTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var rerunTumblingWindowTriggerTypeProperties RerunTumblingWindowTriggerTypeProperties + err = json.Unmarshal(*v, &rerunTumblingWindowTriggerTypeProperties) + if err != nil { + return err + } + rtwt.RerunTumblingWindowTriggerTypeProperties = &rerunTumblingWindowTriggerTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rtwt.AdditionalProperties == nil { + rtwt.AdditionalProperties = make(map[string]interface{}) + } + rtwt.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + rtwt.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + rtwt.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + rtwt.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rtwt.Type = typeVar + } + } + } + + return nil +} + +// RerunTumblingWindowTriggerActionParameters rerun tumbling window trigger Parameters. +type RerunTumblingWindowTriggerActionParameters struct { + // StartTime - The start time for the time period for which restatement is initiated. Only UTC time is currently supported. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time for the time period for which restatement is initiated. Only UTC time is currently supported. + EndTime *date.Time `json:"endTime,omitempty"` + // MaxConcurrency - The max number of parallel time windows (ready for execution) for which a rerun is triggered. + MaxConcurrency *int32 `json:"maxConcurrency,omitempty"` +} + +// RerunTumblingWindowTriggerTypeProperties rerun Trigger properties. +type RerunTumblingWindowTriggerTypeProperties struct { + // ParentTrigger - The parent trigger reference. + ParentTrigger interface{} `json:"parentTrigger,omitempty"` + // RequestedStartTime - The start time for the time period for which restatement is initiated. Only UTC time is currently supported. + RequestedStartTime *date.Time `json:"requestedStartTime,omitempty"` + // RequestedEndTime - The end time for the time period for which restatement is initiated. Only UTC time is currently supported. + RequestedEndTime *date.Time `json:"requestedEndTime,omitempty"` + // MaxConcurrency - The max number of parallel time windows (ready for execution) for which a rerun is triggered. + MaxConcurrency *int32 `json:"maxConcurrency,omitempty"` +} + +// Resource azure Synapse top-level resource. +type Resource struct { + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // ETag - READ-ONLY; Etag identifies change in the resource. + ETag *string `json:"eTag,omitempty"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ResponsysLinkedService responsys linked service. +type ResponsysLinkedService struct { + // ResponsysLinkedServiceTypeProperties - Responsys linked service properties. + *ResponsysLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResponsysLinkedService. +func (rls ResponsysLinkedService) MarshalJSON() ([]byte, error) { + rls.Type = TypeResponsys + objectMap := make(map[string]interface{}) + if rls.ResponsysLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = rls.ResponsysLinkedServiceTypeProperties + } + if rls.ConnectVia != nil { + objectMap["connectVia"] = rls.ConnectVia + } + if rls.Description != nil { + objectMap["description"] = rls.Description + } + if rls.Parameters != nil { + objectMap["parameters"] = rls.Parameters + } + if rls.Annotations != nil { + objectMap["annotations"] = rls.Annotations + } + if rls.Type != "" { + objectMap["type"] = rls.Type + } + for k, v := range rls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return &rls, true +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &rls, true +} + +// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedService struct. +func (rls *ResponsysLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var responsysLinkedServiceTypeProperties ResponsysLinkedServiceTypeProperties + err = json.Unmarshal(*v, &responsysLinkedServiceTypeProperties) + if err != nil { + return err + } + rls.ResponsysLinkedServiceTypeProperties = &responsysLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rls.AdditionalProperties == nil { + rls.AdditionalProperties = make(map[string]interface{}) + } + rls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + rls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + rls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + rls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + rls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rls.Type = typeVar + } + } + } + + return nil +} + +// ResponsysLinkedServiceTypeProperties responsys linked service properties. +type ResponsysLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the Responsys server. + Endpoint interface{} `json:"endpoint,omitempty"` + // ClientID - The client ID associated with the Responsys application. Type: string (or Expression with resultType string). + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret associated with the Responsys application. Type: string (or Expression with resultType string). + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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). + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // 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). + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedServiceTypeProperties struct. +func (rlstp *ResponsysLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + rlstp.Endpoint = endpoint + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + rlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + rlstp.ClientSecret = clientSecret + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + rlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + rlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + rlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + rlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ResponsysObjectDataset responsys dataset. +type ResponsysObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) MarshalJSON() ([]byte, error) { + rod.Type = TypeResponsysObject + objectMap := make(map[string]interface{}) + if rod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = rod.GenericDatasetTypeProperties + } + if rod.Description != nil { + objectMap["description"] = rod.Description + } + if rod.Structure != nil { + objectMap["structure"] = rod.Structure + } + if rod.Schema != nil { + objectMap["schema"] = rod.Schema + } + if rod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = rod.LinkedServiceName + } + if rod.Parameters != nil { + objectMap["parameters"] = rod.Parameters + } + if rod.Annotations != nil { + objectMap["annotations"] = rod.Annotations + } + if rod.Folder != nil { + objectMap["folder"] = rod.Folder + } + if rod.Type != "" { + objectMap["type"] = rod.Type + } + for k, v := range rod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return &rod, true +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &rod, true +} + +// UnmarshalJSON is the custom unmarshaler for ResponsysObjectDataset struct. +func (rod *ResponsysObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + rod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rod.AdditionalProperties == nil { + rod.AdditionalProperties = make(map[string]interface{}) + } + rod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + rod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + rod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + rod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + rod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + rod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + rod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + rod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rod.Type = typeVar + } + } + } + + return nil +} + +// ResponsysSource a copy activity Responsys source. +type ResponsysSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResponsysSource. +func (rs ResponsysSource) MarshalJSON() ([]byte, error) { + rs.Type = TypeResponsysSource + objectMap := make(map[string]interface{}) + if rs.Query != nil { + objectMap["query"] = rs.Query + } + if rs.QueryTimeout != nil { + objectMap["queryTimeout"] = rs.QueryTimeout + } + if rs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = rs.SourceRetryCount + } + if rs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = rs.SourceRetryWait + } + if rs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections + } + if rs.Type != "" { + objectMap["type"] = rs.Type + } + for k, v := range rs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsResponsysSource() (*ResponsysSource, bool) { + return &rs, true +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &rs, true +} + +// AsBinarySource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsBasicCopySource() (BasicCopySource, bool) { + return &rs, true +} + +// UnmarshalJSON is the custom unmarshaler for ResponsysSource struct. +func (rs *ResponsysSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + rs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + rs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rs.AdditionalProperties == nil { + rs.AdditionalProperties = make(map[string]interface{}) + } + rs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + rs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + rs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + rs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rs.Type = typeVar + } + } + } + + return nil +} + +// RestResourceDataset a Rest service dataset. +type RestResourceDataset struct { + // RestResourceDatasetTypeProperties - Properties specific to this dataset type. + *RestResourceDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RestResourceDataset. +func (rrd RestResourceDataset) MarshalJSON() ([]byte, error) { + rrd.Type = TypeRestResource + objectMap := make(map[string]interface{}) + if rrd.RestResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = rrd.RestResourceDatasetTypeProperties + } + if rrd.Description != nil { + objectMap["description"] = rrd.Description + } + if rrd.Structure != nil { + objectMap["structure"] = rrd.Structure + } + if rrd.Schema != nil { + objectMap["schema"] = rrd.Schema + } + if rrd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = rrd.LinkedServiceName + } + if rrd.Parameters != nil { + objectMap["parameters"] = rrd.Parameters + } + if rrd.Annotations != nil { + objectMap["annotations"] = rrd.Annotations + } + if rrd.Folder != nil { + objectMap["folder"] = rrd.Folder + } + if rrd.Type != "" { + objectMap["type"] = rrd.Type + } + for k, v := range rrd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return &rrd, true +} + +// AsSQLServerTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &rrd, true +} + +// UnmarshalJSON is the custom unmarshaler for RestResourceDataset struct. +func (rrd *RestResourceDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var restResourceDatasetTypeProperties RestResourceDatasetTypeProperties + err = json.Unmarshal(*v, &restResourceDatasetTypeProperties) + if err != nil { + return err + } + rrd.RestResourceDatasetTypeProperties = &restResourceDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rrd.AdditionalProperties == nil { + rrd.AdditionalProperties = make(map[string]interface{}) + } + rrd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + rrd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + rrd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + rrd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + rrd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + rrd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + rrd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + rrd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rrd.Type = typeVar + } + } + } + + return nil +} + +// RestResourceDatasetTypeProperties properties specific to this dataset type. +type RestResourceDatasetTypeProperties struct { + // RelativeURL - The relative URL to the resource that the RESTful API provides. Type: string (or Expression with resultType string). + RelativeURL interface{} `json:"relativeUrl,omitempty"` + // RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). + RequestMethod interface{} `json:"requestMethod,omitempty"` + // RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string). + RequestBody interface{} `json:"requestBody,omitempty"` + // AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string). + AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"` + // PaginationRules - The pagination rules to compose next page requests. Type: string (or Expression with resultType string). + PaginationRules interface{} `json:"paginationRules,omitempty"` +} + +// RestServiceLinkedService rest Service linked service. +type RestServiceLinkedService struct { + // RestServiceLinkedServiceTypeProperties - Rest Service linked service properties. + *RestServiceLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RestServiceLinkedService. +func (rsls RestServiceLinkedService) MarshalJSON() ([]byte, error) { + rsls.Type = TypeRestService + objectMap := make(map[string]interface{}) + if rsls.RestServiceLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = rsls.RestServiceLinkedServiceTypeProperties + } + if rsls.ConnectVia != nil { + objectMap["connectVia"] = rsls.ConnectVia + } + if rsls.Description != nil { + objectMap["description"] = rsls.Description + } + if rsls.Parameters != nil { + objectMap["parameters"] = rsls.Parameters + } + if rsls.Annotations != nil { + objectMap["annotations"] = rsls.Annotations + } + if rsls.Type != "" { + objectMap["type"] = rsls.Type + } + for k, v := range rsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return &rsls, true +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &rsls, true +} + +// UnmarshalJSON is the custom unmarshaler for RestServiceLinkedService struct. +func (rsls *RestServiceLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var restServiceLinkedServiceTypeProperties RestServiceLinkedServiceTypeProperties + err = json.Unmarshal(*v, &restServiceLinkedServiceTypeProperties) + if err != nil { + return err + } + rsls.RestServiceLinkedServiceTypeProperties = &restServiceLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rsls.AdditionalProperties == nil { + rsls.AdditionalProperties = make(map[string]interface{}) + } + rsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + rsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + rsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + rsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + rsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rsls.Type = typeVar + } + } + } + + return nil +} + +// RestServiceLinkedServiceTypeProperties rest Service linked service properties. +type RestServiceLinkedServiceTypeProperties struct { + // URL - The base URL of the REST service. + URL interface{} `json:"url,omitempty"` + // 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). + EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"` + // AuthenticationType - Type of authentication used to connect to the REST service. Possible values include: 'RestServiceAuthenticationTypeAnonymous', 'RestServiceAuthenticationTypeBasic', 'RestServiceAuthenticationTypeAadServicePrincipal', 'RestServiceAuthenticationTypeManagedServiceIdentity' + AuthenticationType RestServiceAuthenticationType `json:"authenticationType,omitempty"` + // UserName - The user name used in Basic authentication type. + UserName interface{} `json:"userName,omitempty"` + // Password - The password used in Basic authentication type. + Password BasicSecretBase `json:"password,omitempty"` + // ServicePrincipalID - The application's client ID used in AadServicePrincipal authentication type. + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The application's key used in AadServicePrincipal authentication type. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The tenant information (domain name or tenant ID) used in AadServicePrincipal authentication type under which your application resides. + Tenant interface{} `json:"tenant,omitempty"` + // AadResourceID - The resource you are requesting authorization to use. + AadResourceID interface{} `json:"aadResourceId,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RestServiceLinkedServiceTypeProperties struct. +func (rslstp *RestServiceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + rslstp.URL = URL + } + case "enableServerCertificateValidation": + if v != nil { + var enableServerCertificateValidation interface{} + err = json.Unmarshal(*v, &enableServerCertificateValidation) + if err != nil { + return err + } + rslstp.EnableServerCertificateValidation = enableServerCertificateValidation + } + case "authenticationType": + if v != nil { + var authenticationType RestServiceAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + rslstp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + rslstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + rslstp.Password = password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + rslstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + rslstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + rslstp.Tenant = tenant + } + case "aadResourceId": + if v != nil { + var aadResourceID interface{} + err = json.Unmarshal(*v, &aadResourceID) + if err != nil { + return err + } + rslstp.AadResourceID = aadResourceID + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + rslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// RestSource a copy activity Rest service source. +type RestSource struct { + // RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). + RequestMethod interface{} `json:"requestMethod,omitempty"` + // RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string). + RequestBody interface{} `json:"requestBody,omitempty"` + // AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string). + AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"` + // PaginationRules - The pagination rules to compose next page requests. Type: string (or Expression with resultType string). + PaginationRules interface{} `json:"paginationRules,omitempty"` + // 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])). + HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"` + // RequestInterval - The time to await before sending next page request. + RequestInterval interface{} `json:"requestInterval,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RestSource. +func (rs RestSource) MarshalJSON() ([]byte, error) { + rs.Type = TypeRestSource + objectMap := make(map[string]interface{}) + if rs.RequestMethod != nil { + objectMap["requestMethod"] = rs.RequestMethod + } + if rs.RequestBody != nil { + objectMap["requestBody"] = rs.RequestBody + } + if rs.AdditionalHeaders != nil { + objectMap["additionalHeaders"] = rs.AdditionalHeaders + } + if rs.PaginationRules != nil { + objectMap["paginationRules"] = rs.PaginationRules + } + if rs.HTTPRequestTimeout != nil { + objectMap["httpRequestTimeout"] = rs.HTTPRequestTimeout + } + if rs.RequestInterval != nil { + objectMap["requestInterval"] = rs.RequestInterval + } + if rs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = rs.SourceRetryCount + } + if rs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = rs.SourceRetryWait + } + if rs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections + } + if rs.Type != "" { + objectMap["type"] = rs.Type + } + for k, v := range rs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsRestSource() (*RestSource, bool) { + return &rs, true +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsBasicCopySource() (BasicCopySource, bool) { + return &rs, true +} + +// UnmarshalJSON is the custom unmarshaler for RestSource struct. +func (rs *RestSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "requestMethod": + if v != nil { + var requestMethod interface{} + err = json.Unmarshal(*v, &requestMethod) + if err != nil { + return err + } + rs.RequestMethod = requestMethod + } + case "requestBody": + if v != nil { + var requestBody interface{} + err = json.Unmarshal(*v, &requestBody) + if err != nil { + return err + } + rs.RequestBody = requestBody + } + case "additionalHeaders": + if v != nil { + var additionalHeaders interface{} + err = json.Unmarshal(*v, &additionalHeaders) + if err != nil { + return err + } + rs.AdditionalHeaders = additionalHeaders + } + case "paginationRules": + if v != nil { + var paginationRules interface{} + err = json.Unmarshal(*v, &paginationRules) + if err != nil { + return err + } + rs.PaginationRules = paginationRules + } + case "httpRequestTimeout": + if v != nil { + var HTTPRequestTimeout interface{} + err = json.Unmarshal(*v, &HTTPRequestTimeout) + if err != nil { + return err + } + rs.HTTPRequestTimeout = HTTPRequestTimeout + } + case "requestInterval": + if v != nil { + var requestInterval interface{} + err = json.Unmarshal(*v, &requestInterval) + if err != nil { + return err + } + rs.RequestInterval = requestInterval + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if rs.AdditionalProperties == nil { + rs.AdditionalProperties = make(map[string]interface{}) + } + rs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + rs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + rs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + rs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rs.Type = typeVar + } + } + } + + return nil +} + +// RetryPolicy execution policy for an activity. +type RetryPolicy struct { + // Count - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0. + Count interface{} `json:"count,omitempty"` + // IntervalInSeconds - Interval between retries in seconds. Default is 30. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` +} + +// RunFilterParameters query parameters for listing runs. +type RunFilterParameters struct { + // ContinuationToken - The continuation token for getting the next page of results. Null for first page. + ContinuationToken *string `json:"continuationToken,omitempty"` + // LastUpdatedAfter - The time at or after which the run event was updated in 'ISO 8601' format. + LastUpdatedAfter *date.Time `json:"lastUpdatedAfter,omitempty"` + // LastUpdatedBefore - The time at or before which the run event was updated in 'ISO 8601' format. + LastUpdatedBefore *date.Time `json:"lastUpdatedBefore,omitempty"` + // Filters - List of filters. + Filters *[]RunQueryFilter `json:"filters,omitempty"` + // OrderBy - List of OrderBy option. + OrderBy *[]RunQueryOrderBy `json:"orderBy,omitempty"` +} + +// RunQueryFilter query filter option for listing runs. +type RunQueryFilter struct { + // 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' + Operand RunQueryFilterOperand `json:"operand,omitempty"` + // Operator - Operator to be used for filter. Possible values include: 'Equals', 'NotEquals', 'In', 'NotIn' + Operator RunQueryFilterOperator `json:"operator,omitempty"` + // Values - List of filter values. + Values *[]string `json:"values,omitempty"` +} + +// RunQueryOrderBy an object to provide order by options for listing runs. +type RunQueryOrderBy struct { + // 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' + OrderBy RunQueryOrderByField `json:"orderBy,omitempty"` + // Order - Sorting order of the parameter. Possible values include: 'ASC', 'DESC' + Order RunQueryOrder `json:"order,omitempty"` +} + +// SalesforceLinkedService linked service for Salesforce. +type SalesforceLinkedService struct { + // SalesforceLinkedServiceTypeProperties - Salesforce linked service properties. + *SalesforceLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceLinkedService. +func (sls SalesforceLinkedService) MarshalJSON() ([]byte, error) { + sls.Type = TypeSalesforce + objectMap := make(map[string]interface{}) + if sls.SalesforceLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sls.SalesforceLinkedServiceTypeProperties + } + if sls.ConnectVia != nil { + objectMap["connectVia"] = sls.ConnectVia + } + if sls.Description != nil { + objectMap["description"] = sls.Description + } + if sls.Parameters != nil { + objectMap["parameters"] = sls.Parameters + } + if sls.Annotations != nil { + objectMap["annotations"] = sls.Annotations + } + if sls.Type != "" { + objectMap["type"] = sls.Type + } + for k, v := range sls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return &sls, true +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sls, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedService struct. +func (sls *SalesforceLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var salesforceLinkedServiceTypeProperties SalesforceLinkedServiceTypeProperties + err = json.Unmarshal(*v, &salesforceLinkedServiceTypeProperties) + if err != nil { + return err + } + sls.SalesforceLinkedServiceTypeProperties = &salesforceLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sls.AdditionalProperties == nil { + sls.AdditionalProperties = make(map[string]interface{}) + } + sls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sls.Type = typeVar + } + } + } + + return nil +} + +// SalesforceLinkedServiceTypeProperties salesforce linked service properties. +type SalesforceLinkedServiceTypeProperties struct { + // 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). + EnvironmentURL interface{} `json:"environmentUrl,omitempty"` + // Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - The password for Basic authentication of the Salesforce instance. + Password BasicSecretBase `json:"password,omitempty"` + // SecurityToken - The security token is required to remotely access Salesforce instance. + SecurityToken BasicSecretBase `json:"securityToken,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedServiceTypeProperties struct. +func (slstp *SalesforceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "environmentUrl": + if v != nil { + var environmentURL interface{} + err = json.Unmarshal(*v, &environmentURL) + if err != nil { + return err + } + slstp.EnvironmentURL = environmentURL + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + slstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + slstp.Password = password + } + case "securityToken": + if v != nil { + securityToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + slstp.SecurityToken = securityToken + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + slstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SalesforceMarketingCloudLinkedService salesforce Marketing Cloud linked service. +type SalesforceMarketingCloudLinkedService struct { + // SalesforceMarketingCloudLinkedServiceTypeProperties - Salesforce Marketing Cloud linked service properties. + *SalesforceMarketingCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) MarshalJSON() ([]byte, error) { + smcls.Type = TypeSalesforceMarketingCloud + objectMap := make(map[string]interface{}) + if smcls.SalesforceMarketingCloudLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = smcls.SalesforceMarketingCloudLinkedServiceTypeProperties + } + if smcls.ConnectVia != nil { + objectMap["connectVia"] = smcls.ConnectVia + } + if smcls.Description != nil { + objectMap["description"] = smcls.Description + } + if smcls.Parameters != nil { + objectMap["parameters"] = smcls.Parameters + } + if smcls.Annotations != nil { + objectMap["annotations"] = smcls.Annotations + } + if smcls.Type != "" { + objectMap["type"] = smcls.Type + } + for k, v := range smcls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return &smcls, true +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &smcls, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedService struct. +func (smcls *SalesforceMarketingCloudLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var salesforceMarketingCloudLinkedServiceTypeProperties SalesforceMarketingCloudLinkedServiceTypeProperties + err = json.Unmarshal(*v, &salesforceMarketingCloudLinkedServiceTypeProperties) + if err != nil { + return err + } + smcls.SalesforceMarketingCloudLinkedServiceTypeProperties = &salesforceMarketingCloudLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if smcls.AdditionalProperties == nil { + smcls.AdditionalProperties = make(map[string]interface{}) + } + smcls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + smcls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + smcls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + smcls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + smcls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + smcls.Type = typeVar + } + } + } + + return nil +} + +// SalesforceMarketingCloudLinkedServiceTypeProperties salesforce Marketing Cloud linked service +// properties. +type SalesforceMarketingCloudLinkedServiceTypeProperties struct { + // ClientID - The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string). + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string). + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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). + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // 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). + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedServiceTypeProperties struct. +func (smclstp *SalesforceMarketingCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + smclstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + smclstp.ClientSecret = clientSecret + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + smclstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + smclstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + smclstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + smclstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SalesforceMarketingCloudObjectDataset salesforce Marketing Cloud dataset. +type SalesforceMarketingCloudObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) MarshalJSON() ([]byte, error) { + smcod.Type = TypeSalesforceMarketingCloudObject + objectMap := make(map[string]interface{}) + if smcod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = smcod.GenericDatasetTypeProperties + } + if smcod.Description != nil { + objectMap["description"] = smcod.Description + } + if smcod.Structure != nil { + objectMap["structure"] = smcod.Structure + } + if smcod.Schema != nil { + objectMap["schema"] = smcod.Schema + } + if smcod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = smcod.LinkedServiceName + } + if smcod.Parameters != nil { + objectMap["parameters"] = smcod.Parameters + } + if smcod.Annotations != nil { + objectMap["annotations"] = smcod.Annotations + } + if smcod.Folder != nil { + objectMap["folder"] = smcod.Folder + } + if smcod.Type != "" { + objectMap["type"] = smcod.Type + } + for k, v := range smcod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return &smcod, true +} + +// AsVerticaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &smcod, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudObjectDataset struct. +func (smcod *SalesforceMarketingCloudObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + smcod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if smcod.AdditionalProperties == nil { + smcod.AdditionalProperties = make(map[string]interface{}) + } + smcod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + smcod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + smcod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + smcod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + smcod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + smcod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + smcod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + smcod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + smcod.Type = typeVar + } + } + } + + return nil +} + +// SalesforceMarketingCloudSource a copy activity Salesforce Marketing Cloud source. +type SalesforceMarketingCloudSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) MarshalJSON() ([]byte, error) { + smcs.Type = TypeSalesforceMarketingCloudSource + objectMap := make(map[string]interface{}) + if smcs.Query != nil { + objectMap["query"] = smcs.Query + } + if smcs.QueryTimeout != nil { + objectMap["queryTimeout"] = smcs.QueryTimeout + } + if smcs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = smcs.SourceRetryCount + } + if smcs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = smcs.SourceRetryWait + } + if smcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = smcs.MaxConcurrentConnections + } + if smcs.Type != "" { + objectMap["type"] = smcs.Type + } + for k, v := range smcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return &smcs, true +} + +// AsVerticaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &smcs, true +} + +// AsBinarySource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsBasicCopySource() (BasicCopySource, bool) { + return &smcs, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudSource struct. +func (smcs *SalesforceMarketingCloudSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + smcs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + smcs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if smcs.AdditionalProperties == nil { + smcs.AdditionalProperties = make(map[string]interface{}) + } + smcs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + smcs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + smcs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + smcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + smcs.Type = typeVar + } + } + } + + return nil +} + +// SalesforceObjectDataset the Salesforce object dataset. +type SalesforceObjectDataset struct { + // SalesforceObjectDatasetTypeProperties - Salesforce object dataset properties. + *SalesforceObjectDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) MarshalJSON() ([]byte, error) { + sod.Type = TypeSalesforceObject + objectMap := make(map[string]interface{}) + if sod.SalesforceObjectDatasetTypeProperties != nil { + objectMap["typeProperties"] = sod.SalesforceObjectDatasetTypeProperties + } + if sod.Description != nil { + objectMap["description"] = sod.Description + } + if sod.Structure != nil { + objectMap["structure"] = sod.Structure + } + if sod.Schema != nil { + objectMap["schema"] = sod.Schema + } + if sod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sod.LinkedServiceName + } + if sod.Parameters != nil { + objectMap["parameters"] = sod.Parameters + } + if sod.Annotations != nil { + objectMap["annotations"] = sod.Annotations + } + if sod.Folder != nil { + objectMap["folder"] = sod.Folder + } + if sod.Type != "" { + objectMap["type"] = sod.Type + } + for k, v := range sod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return &sod, true +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &sod, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceObjectDataset struct. +func (sod *SalesforceObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var salesforceObjectDatasetTypeProperties SalesforceObjectDatasetTypeProperties + err = json.Unmarshal(*v, &salesforceObjectDatasetTypeProperties) + if err != nil { + return err + } + sod.SalesforceObjectDatasetTypeProperties = &salesforceObjectDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sod.AdditionalProperties == nil { + sod.AdditionalProperties = make(map[string]interface{}) + } + sod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sod.Type = typeVar + } + } + } + + return nil +} + +// SalesforceObjectDatasetTypeProperties salesforce object dataset properties. +type SalesforceObjectDatasetTypeProperties struct { + // ObjectAPIName - The Salesforce object API name. Type: string (or Expression with resultType string). + ObjectAPIName interface{} `json:"objectApiName,omitempty"` +} + +// SalesforceServiceCloudLinkedService linked service for Salesforce Service Cloud. +type SalesforceServiceCloudLinkedService struct { + // SalesforceServiceCloudLinkedServiceTypeProperties - Salesforce Service Cloud linked service properties. + *SalesforceServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) MarshalJSON() ([]byte, error) { + sscls.Type = TypeSalesforceServiceCloud + objectMap := make(map[string]interface{}) + if sscls.SalesforceServiceCloudLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sscls.SalesforceServiceCloudLinkedServiceTypeProperties + } + if sscls.ConnectVia != nil { + objectMap["connectVia"] = sscls.ConnectVia + } + if sscls.Description != nil { + objectMap["description"] = sscls.Description + } + if sscls.Parameters != nil { + objectMap["parameters"] = sscls.Parameters + } + if sscls.Annotations != nil { + objectMap["annotations"] = sscls.Annotations + } + if sscls.Type != "" { + objectMap["type"] = sscls.Type + } + for k, v := range sscls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return &sscls, true +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sscls, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudLinkedService struct. +func (sscls *SalesforceServiceCloudLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var salesforceServiceCloudLinkedServiceTypeProperties SalesforceServiceCloudLinkedServiceTypeProperties + err = json.Unmarshal(*v, &salesforceServiceCloudLinkedServiceTypeProperties) + if err != nil { + return err + } + sscls.SalesforceServiceCloudLinkedServiceTypeProperties = &salesforceServiceCloudLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sscls.AdditionalProperties == nil { + sscls.AdditionalProperties = make(map[string]interface{}) + } + sscls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sscls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sscls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sscls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sscls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sscls.Type = typeVar + } + } + } + + return nil +} + +// SalesforceServiceCloudLinkedServiceTypeProperties salesforce Service Cloud linked service properties. +type SalesforceServiceCloudLinkedServiceTypeProperties struct { + // 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). + EnvironmentURL interface{} `json:"environmentUrl,omitempty"` + // Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - The password for Basic authentication of the Salesforce instance. + Password BasicSecretBase `json:"password,omitempty"` + // SecurityToken - The security token is required to remotely access Salesforce instance. + SecurityToken BasicSecretBase `json:"securityToken,omitempty"` + // ExtendedProperties - Extended properties appended to the connection string. Type: string (or Expression with resultType string). + ExtendedProperties interface{} `json:"extendedProperties,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudLinkedServiceTypeProperties struct. +func (ssclstp *SalesforceServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "environmentUrl": + if v != nil { + var environmentURL interface{} + err = json.Unmarshal(*v, &environmentURL) + if err != nil { + return err + } + ssclstp.EnvironmentURL = environmentURL + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + ssclstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ssclstp.Password = password + } + case "securityToken": + if v != nil { + securityToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ssclstp.SecurityToken = securityToken + } + case "extendedProperties": + if v != nil { + var extendedProperties interface{} + err = json.Unmarshal(*v, &extendedProperties) + if err != nil { + return err + } + ssclstp.ExtendedProperties = extendedProperties + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + ssclstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SalesforceServiceCloudObjectDataset the Salesforce Service Cloud object dataset. +type SalesforceServiceCloudObjectDataset struct { + // SalesforceServiceCloudObjectDatasetTypeProperties - Salesforce Service Cloud object dataset properties. + *SalesforceServiceCloudObjectDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) MarshalJSON() ([]byte, error) { + sscod.Type = TypeSalesforceServiceCloudObject + objectMap := make(map[string]interface{}) + if sscod.SalesforceServiceCloudObjectDatasetTypeProperties != nil { + objectMap["typeProperties"] = sscod.SalesforceServiceCloudObjectDatasetTypeProperties + } + if sscod.Description != nil { + objectMap["description"] = sscod.Description + } + if sscod.Structure != nil { + objectMap["structure"] = sscod.Structure + } + if sscod.Schema != nil { + objectMap["schema"] = sscod.Schema + } + if sscod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sscod.LinkedServiceName + } + if sscod.Parameters != nil { + objectMap["parameters"] = sscod.Parameters + } + if sscod.Annotations != nil { + objectMap["annotations"] = sscod.Annotations + } + if sscod.Folder != nil { + objectMap["folder"] = sscod.Folder + } + if sscod.Type != "" { + objectMap["type"] = sscod.Type + } + for k, v := range sscod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return &sscod, true +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &sscod, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudObjectDataset struct. +func (sscod *SalesforceServiceCloudObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var salesforceServiceCloudObjectDatasetTypeProperties SalesforceServiceCloudObjectDatasetTypeProperties + err = json.Unmarshal(*v, &salesforceServiceCloudObjectDatasetTypeProperties) + if err != nil { + return err + } + sscod.SalesforceServiceCloudObjectDatasetTypeProperties = &salesforceServiceCloudObjectDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sscod.AdditionalProperties == nil { + sscod.AdditionalProperties = make(map[string]interface{}) + } + sscod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sscod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sscod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sscod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sscod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sscod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sscod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sscod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sscod.Type = typeVar + } + } + } + + return nil +} + +// SalesforceServiceCloudObjectDatasetTypeProperties salesforce Service Cloud object dataset properties. +type SalesforceServiceCloudObjectDatasetTypeProperties struct { + // ObjectAPIName - The Salesforce Service Cloud object API name. Type: string (or Expression with resultType string). + ObjectAPIName interface{} `json:"objectApiName,omitempty"` +} + +// SalesforceServiceCloudSink a copy activity Salesforce Service Cloud sink. +type SalesforceServiceCloudSink struct { + // WriteBehavior - The write behavior for the operation. Default is Insert. Possible values include: 'Insert', 'Upsert' + WriteBehavior SalesforceSinkWriteBehavior `json:"writeBehavior,omitempty"` + // ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string). + ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"` + // 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). + IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) MarshalJSON() ([]byte, error) { + sscs.Type = TypeSalesforceServiceCloudSink + objectMap := make(map[string]interface{}) + if sscs.WriteBehavior != "" { + objectMap["writeBehavior"] = sscs.WriteBehavior + } + if sscs.ExternalIDFieldName != nil { + objectMap["externalIdFieldName"] = sscs.ExternalIDFieldName + } + if sscs.IgnoreNullValues != nil { + objectMap["ignoreNullValues"] = sscs.IgnoreNullValues + } + if sscs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = sscs.WriteBatchSize + } + if sscs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = sscs.WriteBatchTimeout + } + if sscs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = sscs.SinkRetryCount + } + if sscs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = sscs.SinkRetryWait + } + if sscs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sscs.MaxConcurrentConnections + } + if sscs.Type != "" { + objectMap["type"] = sscs.Type + } + for k, v := range sscs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return &sscs, true +} + +// AsSalesforceSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsBasicCopySink() (BasicCopySink, bool) { + return &sscs, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudSink struct. +func (sscs *SalesforceServiceCloudSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior SalesforceSinkWriteBehavior + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + sscs.WriteBehavior = writeBehavior + } + case "externalIdFieldName": + if v != nil { + var externalIDFieldName interface{} + err = json.Unmarshal(*v, &externalIDFieldName) + if err != nil { + return err + } + sscs.ExternalIDFieldName = externalIDFieldName + } + case "ignoreNullValues": + if v != nil { + var ignoreNullValues interface{} + err = json.Unmarshal(*v, &ignoreNullValues) + if err != nil { + return err + } + sscs.IgnoreNullValues = ignoreNullValues + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sscs.AdditionalProperties == nil { + sscs.AdditionalProperties = make(map[string]interface{}) + } + sscs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + sscs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + sscs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + sscs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + sscs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sscs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sscs.Type = typeVar + } + } + } + + return nil +} + +// SalesforceServiceCloudSource a copy activity Salesforce Service Cloud source. +type SalesforceServiceCloudSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // ReadBehavior - The read behavior for the operation. Default is Query. Possible values include: 'Query', 'QueryAll' + ReadBehavior SalesforceSourceReadBehavior `json:"readBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) MarshalJSON() ([]byte, error) { + sscs.Type = TypeSalesforceServiceCloudSource + objectMap := make(map[string]interface{}) + if sscs.Query != nil { + objectMap["query"] = sscs.Query + } + if sscs.ReadBehavior != "" { + objectMap["readBehavior"] = sscs.ReadBehavior + } + if sscs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sscs.SourceRetryCount + } + if sscs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sscs.SourceRetryWait + } + if sscs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sscs.MaxConcurrentConnections + } + if sscs.Type != "" { + objectMap["type"] = sscs.Type + } + for k, v := range sscs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return &sscs, true +} + +// AsODataSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) { + return &sscs, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudSource struct. +func (sscs *SalesforceServiceCloudSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + sscs.Query = query + } + case "readBehavior": + if v != nil { + var readBehavior SalesforceSourceReadBehavior + err = json.Unmarshal(*v, &readBehavior) + if err != nil { + return err + } + sscs.ReadBehavior = readBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sscs.AdditionalProperties == nil { + sscs.AdditionalProperties = make(map[string]interface{}) + } + sscs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sscs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sscs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sscs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sscs.Type = typeVar + } + } + } + + return nil +} + +// SalesforceSink a copy activity Salesforce sink. +type SalesforceSink struct { + // WriteBehavior - The write behavior for the operation. Default is Insert. Possible values include: 'Insert', 'Upsert' + WriteBehavior SalesforceSinkWriteBehavior `json:"writeBehavior,omitempty"` + // ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string). + ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"` + // 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). + IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceSink. +func (ss SalesforceSink) MarshalJSON() ([]byte, error) { + ss.Type = TypeSalesforceSink + objectMap := make(map[string]interface{}) + if ss.WriteBehavior != "" { + objectMap["writeBehavior"] = ss.WriteBehavior + } + if ss.ExternalIDFieldName != nil { + objectMap["externalIdFieldName"] = ss.ExternalIDFieldName + } + if ss.IgnoreNullValues != nil { + objectMap["ignoreNullValues"] = ss.IgnoreNullValues + } + if ss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ss.WriteBatchSize + } + if ss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout + } + if ss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ss.SinkRetryCount + } + if ss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ss.SinkRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsSalesforceSink() (*SalesforceSink, bool) { + return &ss, true +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceSink struct. +func (ss *SalesforceSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior SalesforceSinkWriteBehavior + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + ss.WriteBehavior = writeBehavior + } + case "externalIdFieldName": + if v != nil { + var externalIDFieldName interface{} + err = json.Unmarshal(*v, &externalIDFieldName) + if err != nil { + return err + } + ss.ExternalIDFieldName = externalIDFieldName + } + case "ignoreNullValues": + if v != nil { + var ignoreNullValues interface{} + err = json.Unmarshal(*v, &ignoreNullValues) + if err != nil { + return err + } + ss.IgnoreNullValues = ignoreNullValues + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SalesforceSource a copy activity Salesforce source. +type SalesforceSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // ReadBehavior - The read behavior for the operation. Default is Query. Possible values include: 'Query', 'QueryAll' + ReadBehavior SalesforceSourceReadBehavior `json:"readBehavior,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SalesforceSource. +func (ss SalesforceSource) MarshalJSON() ([]byte, error) { + ss.Type = TypeSalesforceSource + objectMap := make(map[string]interface{}) + if ss.Query != nil { + objectMap["query"] = ss.Query + } + if ss.ReadBehavior != "" { + objectMap["readBehavior"] = ss.ReadBehavior + } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } + if ss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ss.SourceRetryCount + } + if ss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ss.SourceRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSalesforceSource() (*SalesforceSource, bool) { + return &ss, true +} + +// AsSapBwSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true +} + +// AsBinarySource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for SalesforceSource struct. +func (ss *SalesforceSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ss.Query = query + } + case "readBehavior": + if v != nil { + var readBehavior SalesforceSourceReadBehavior + err = json.Unmarshal(*v, &readBehavior) + if err != nil { + return err + } + ss.ReadBehavior = readBehavior + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SapBwCubeDataset the SAP BW cube dataset. +type SapBwCubeDataset struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) MarshalJSON() ([]byte, error) { + sbcd.Type = TypeSapBwCube + objectMap := make(map[string]interface{}) + if sbcd.Description != nil { + objectMap["description"] = sbcd.Description + } + if sbcd.Structure != nil { + objectMap["structure"] = sbcd.Structure + } + if sbcd.Schema != nil { + objectMap["schema"] = sbcd.Schema + } + if sbcd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sbcd.LinkedServiceName + } + if sbcd.Parameters != nil { + objectMap["parameters"] = sbcd.Parameters + } + if sbcd.Annotations != nil { + objectMap["annotations"] = sbcd.Annotations + } + if sbcd.Folder != nil { + objectMap["folder"] = sbcd.Folder + } + if sbcd.Type != "" { + objectMap["type"] = sbcd.Type + } + for k, v := range sbcd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return &sbcd, true +} + +// AsSybaseTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsBasicDataset() (BasicDataset, bool) { + return &sbcd, true +} + +// UnmarshalJSON is the custom unmarshaler for SapBwCubeDataset struct. +func (sbcd *SapBwCubeDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sbcd.AdditionalProperties == nil { + sbcd.AdditionalProperties = make(map[string]interface{}) + } + sbcd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sbcd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sbcd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sbcd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sbcd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sbcd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sbcd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sbcd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sbcd.Type = typeVar + } + } + } + + return nil +} + +// SapBWLinkedService SAP Business Warehouse Linked Service. +type SapBWLinkedService struct { + // SapBWLinkedServiceTypeProperties - Properties specific to this linked service type. + *SapBWLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapBWLinkedService. +func (sbls SapBWLinkedService) MarshalJSON() ([]byte, error) { + sbls.Type = TypeSapBW + objectMap := make(map[string]interface{}) + if sbls.SapBWLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sbls.SapBWLinkedServiceTypeProperties + } + if sbls.ConnectVia != nil { + objectMap["connectVia"] = sbls.ConnectVia + } + if sbls.Description != nil { + objectMap["description"] = sbls.Description + } + if sbls.Parameters != nil { + objectMap["parameters"] = sbls.Parameters + } + if sbls.Annotations != nil { + objectMap["annotations"] = sbls.Annotations + } + if sbls.Type != "" { + objectMap["type"] = sbls.Type + } + for k, v := range sbls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return &sbls, true +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sbls, true +} + +// UnmarshalJSON is the custom unmarshaler for SapBWLinkedService struct. +func (sbls *SapBWLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapBWLinkedServiceTypeProperties SapBWLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sapBWLinkedServiceTypeProperties) + if err != nil { + return err + } + sbls.SapBWLinkedServiceTypeProperties = &sapBWLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sbls.AdditionalProperties == nil { + sbls.AdditionalProperties = make(map[string]interface{}) + } + sbls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sbls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sbls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sbls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sbls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sbls.Type = typeVar + } + } + } + + return nil +} + +// SapBWLinkedServiceTypeProperties properties specific to this linked service type. +type SapBWLinkedServiceTypeProperties struct { + // Server - Host name of the SAP BW instance. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // SystemNumber - System number of the BW system. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string). + SystemNumber interface{} `json:"systemNumber,omitempty"` + // 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). + ClientID interface{} `json:"clientId,omitempty"` + // UserName - Username to access the SAP BW server. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password to access the SAP BW server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SapBWLinkedServiceTypeProperties struct. +func (sblstp *SapBWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + sblstp.Server = server + } + case "systemNumber": + if v != nil { + var systemNumber interface{} + err = json.Unmarshal(*v, &systemNumber) + if err != nil { + return err + } + sblstp.SystemNumber = systemNumber + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + sblstp.ClientID = clientID + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + sblstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sblstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + sblstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SapBwSource a copy activity source for SapBW server via MDX. +type SapBwSource struct { + // Query - MDX query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapBwSource. +func (sbs SapBwSource) MarshalJSON() ([]byte, error) { + sbs.Type = TypeSapBwSource + objectMap := make(map[string]interface{}) + if sbs.Query != nil { + objectMap["query"] = sbs.Query + } + if sbs.QueryTimeout != nil { + objectMap["queryTimeout"] = sbs.QueryTimeout + } + if sbs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sbs.SourceRetryCount + } + if sbs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sbs.SourceRetryWait + } + if sbs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sbs.MaxConcurrentConnections + } + if sbs.Type != "" { + objectMap["type"] = sbs.Type + } + for k, v := range sbs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSapBwSource() (*SapBwSource, bool) { + return &sbs, true +} + +// AsSybaseSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sbs, true +} + +// AsBinarySource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsBasicCopySource() (BasicCopySource, bool) { + return &sbs, true +} + +// UnmarshalJSON is the custom unmarshaler for SapBwSource struct. +func (sbs *SapBwSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + sbs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sbs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sbs.AdditionalProperties == nil { + sbs.AdditionalProperties = make(map[string]interface{}) + } + sbs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sbs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sbs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sbs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sbs.Type = typeVar + } + } + } + + return nil +} + +// SapCloudForCustomerLinkedService linked service for SAP Cloud for Customer. +type SapCloudForCustomerLinkedService struct { + // SapCloudForCustomerLinkedServiceTypeProperties - SAP Cloud for Customer linked service properties. + *SapCloudForCustomerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) MarshalJSON() ([]byte, error) { + scfcls.Type = TypeSapCloudForCustomer + objectMap := make(map[string]interface{}) + if scfcls.SapCloudForCustomerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = scfcls.SapCloudForCustomerLinkedServiceTypeProperties + } + if scfcls.ConnectVia != nil { + objectMap["connectVia"] = scfcls.ConnectVia + } + if scfcls.Description != nil { + objectMap["description"] = scfcls.Description + } + if scfcls.Parameters != nil { + objectMap["parameters"] = scfcls.Parameters + } + if scfcls.Annotations != nil { + objectMap["annotations"] = scfcls.Annotations + } + if scfcls.Type != "" { + objectMap["type"] = scfcls.Type + } + for k, v := range scfcls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return &scfcls, true +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &scfcls, true +} + +// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedService struct. +func (scfcls *SapCloudForCustomerLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapCloudForCustomerLinkedServiceTypeProperties SapCloudForCustomerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sapCloudForCustomerLinkedServiceTypeProperties) + if err != nil { + return err + } + scfcls.SapCloudForCustomerLinkedServiceTypeProperties = &sapCloudForCustomerLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if scfcls.AdditionalProperties == nil { + scfcls.AdditionalProperties = make(map[string]interface{}) + } + scfcls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + scfcls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + scfcls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + scfcls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + scfcls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + scfcls.Type = typeVar + } + } + } + + return nil +} + +// SapCloudForCustomerLinkedServiceTypeProperties SAP Cloud for Customer linked service properties. +type SapCloudForCustomerLinkedServiceTypeProperties struct { + // 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). + URL interface{} `json:"url,omitempty"` + // Username - The username for Basic authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - The password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // 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). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedServiceTypeProperties struct. +func (scfclstp *SapCloudForCustomerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + scfclstp.URL = URL + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + scfclstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + scfclstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + scfclstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SapCloudForCustomerResourceDataset the path of the SAP Cloud for Customer OData entity. +type SapCloudForCustomerResourceDataset struct { + // SapCloudForCustomerResourceDatasetTypeProperties - SAP Cloud For Customer OData resource dataset properties. + *SapCloudForCustomerResourceDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) MarshalJSON() ([]byte, error) { + scfcrd.Type = TypeSapCloudForCustomerResource + objectMap := make(map[string]interface{}) + if scfcrd.SapCloudForCustomerResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = scfcrd.SapCloudForCustomerResourceDatasetTypeProperties + } + if scfcrd.Description != nil { + objectMap["description"] = scfcrd.Description + } + if scfcrd.Structure != nil { + objectMap["structure"] = scfcrd.Structure + } + if scfcrd.Schema != nil { + objectMap["schema"] = scfcrd.Schema + } + if scfcrd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = scfcrd.LinkedServiceName + } + if scfcrd.Parameters != nil { + objectMap["parameters"] = scfcrd.Parameters + } + if scfcrd.Annotations != nil { + objectMap["annotations"] = scfcrd.Annotations + } + if scfcrd.Folder != nil { + objectMap["folder"] = scfcrd.Folder + } + if scfcrd.Type != "" { + objectMap["type"] = scfcrd.Type + } + for k, v := range scfcrd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return &scfcrd, true +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &scfcrd, true +} + +// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerResourceDataset struct. +func (scfcrd *SapCloudForCustomerResourceDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapCloudForCustomerResourceDatasetTypeProperties SapCloudForCustomerResourceDatasetTypeProperties + err = json.Unmarshal(*v, &sapCloudForCustomerResourceDatasetTypeProperties) + if err != nil { + return err + } + scfcrd.SapCloudForCustomerResourceDatasetTypeProperties = &sapCloudForCustomerResourceDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if scfcrd.AdditionalProperties == nil { + scfcrd.AdditionalProperties = make(map[string]interface{}) + } + scfcrd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + scfcrd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + scfcrd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + scfcrd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + scfcrd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + scfcrd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + scfcrd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + scfcrd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + scfcrd.Type = typeVar + } + } + } + + return nil +} + +// SapCloudForCustomerResourceDatasetTypeProperties sap Cloud For Customer OData resource dataset +// properties. +type SapCloudForCustomerResourceDatasetTypeProperties struct { + // Path - The path of the SAP Cloud for Customer OData entity. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// SapCloudForCustomerSink a copy activity SAP Cloud for Customer sink. +type SapCloudForCustomerSink struct { + // WriteBehavior - The write behavior for the operation. Default is 'Insert'. Possible values include: 'SapCloudForCustomerSinkWriteBehaviorInsert', 'SapCloudForCustomerSinkWriteBehaviorUpdate' + WriteBehavior SapCloudForCustomerSinkWriteBehavior `json:"writeBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) MarshalJSON() ([]byte, error) { + scfcs.Type = TypeSapCloudForCustomerSink + objectMap := make(map[string]interface{}) + if scfcs.WriteBehavior != "" { + objectMap["writeBehavior"] = scfcs.WriteBehavior + } + if scfcs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = scfcs.WriteBatchSize + } + if scfcs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = scfcs.WriteBatchTimeout + } + if scfcs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = scfcs.SinkRetryCount + } + if scfcs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = scfcs.SinkRetryWait + } + if scfcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = scfcs.MaxConcurrentConnections + } + if scfcs.Type != "" { + objectMap["type"] = scfcs.Type + } + for k, v := range scfcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return &scfcs, true +} + +// AsAzureMySQLSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsBasicCopySink() (BasicCopySink, bool) { + return &scfcs, true +} + +// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSink struct. +func (scfcs *SapCloudForCustomerSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior SapCloudForCustomerSinkWriteBehavior + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + scfcs.WriteBehavior = writeBehavior + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if scfcs.AdditionalProperties == nil { + scfcs.AdditionalProperties = make(map[string]interface{}) + } + scfcs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + scfcs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + scfcs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + scfcs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + scfcs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + scfcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + scfcs.Type = typeVar + } + } + } + + return nil +} + +// SapCloudForCustomerSource a copy activity source for SAP Cloud for Customer source. +type SapCloudForCustomerSource struct { + // Query - SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) MarshalJSON() ([]byte, error) { + scfcs.Type = TypeSapCloudForCustomerSource + objectMap := make(map[string]interface{}) + if scfcs.Query != nil { + objectMap["query"] = scfcs.Query + } + if scfcs.QueryTimeout != nil { + objectMap["queryTimeout"] = scfcs.QueryTimeout + } + if scfcs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = scfcs.SourceRetryCount + } + if scfcs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = scfcs.SourceRetryWait + } + if scfcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = scfcs.MaxConcurrentConnections + } + if scfcs.Type != "" { + objectMap["type"] = scfcs.Type + } + for k, v := range scfcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return &scfcs, true +} + +// AsSalesforceSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &scfcs, true +} + +// AsBinarySource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsBasicCopySource() (BasicCopySource, bool) { + return &scfcs, true +} + +// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSource struct. +func (scfcs *SapCloudForCustomerSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + scfcs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + scfcs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if scfcs.AdditionalProperties == nil { + scfcs.AdditionalProperties = make(map[string]interface{}) + } + scfcs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + scfcs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + scfcs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + scfcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + scfcs.Type = typeVar + } + } + } + + return nil +} + +// SapEccLinkedService linked service for SAP ERP Central Component(SAP ECC). +type SapEccLinkedService struct { + // SapEccLinkedServiceTypeProperties - SAP ECC linked service properties. + *SapEccLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapEccLinkedService. +func (sels SapEccLinkedService) MarshalJSON() ([]byte, error) { + sels.Type = TypeSapEcc + objectMap := make(map[string]interface{}) + if sels.SapEccLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sels.SapEccLinkedServiceTypeProperties + } + if sels.ConnectVia != nil { + objectMap["connectVia"] = sels.ConnectVia + } + if sels.Description != nil { + objectMap["description"] = sels.Description + } + if sels.Parameters != nil { + objectMap["parameters"] = sels.Parameters + } + if sels.Annotations != nil { + objectMap["annotations"] = sels.Annotations + } + if sels.Type != "" { + objectMap["type"] = sels.Type + } + for k, v := range sels.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return &sels, true +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sels, true +} + +// UnmarshalJSON is the custom unmarshaler for SapEccLinkedService struct. +func (sels *SapEccLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapEccLinkedServiceTypeProperties SapEccLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sapEccLinkedServiceTypeProperties) + if err != nil { + return err + } + sels.SapEccLinkedServiceTypeProperties = &sapEccLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sels.AdditionalProperties == nil { + sels.AdditionalProperties = make(map[string]interface{}) + } + sels.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sels.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sels.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sels.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sels.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sels.Type = typeVar + } + } + } + + return nil +} + +// SapEccLinkedServiceTypeProperties SAP ECC linked service properties. +type SapEccLinkedServiceTypeProperties struct { + // 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). + URL *string `json:"url,omitempty"` + // Username - The username for Basic authentication. Type: string (or Expression with resultType string). + Username *string `json:"username,omitempty"` + // Password - The password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // 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). + EncryptedCredential *string `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SapEccLinkedServiceTypeProperties struct. +func (selstp *SapEccLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL string + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + selstp.URL = &URL + } + case "username": + if v != nil { + var username string + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + selstp.Username = &username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + selstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential string + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + selstp.EncryptedCredential = &encryptedCredential + } + } + } + + return nil +} + +// SapEccResourceDataset the path of the SAP ECC OData entity. +type SapEccResourceDataset struct { + // SapEccResourceDatasetTypeProperties - SAP ECC OData resource dataset properties. + *SapEccResourceDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapEccResourceDataset. +func (serd SapEccResourceDataset) MarshalJSON() ([]byte, error) { + serd.Type = TypeSapEccResource + objectMap := make(map[string]interface{}) + if serd.SapEccResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = serd.SapEccResourceDatasetTypeProperties + } + if serd.Description != nil { + objectMap["description"] = serd.Description + } + if serd.Structure != nil { + objectMap["structure"] = serd.Structure + } + if serd.Schema != nil { + objectMap["schema"] = serd.Schema + } + if serd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = serd.LinkedServiceName + } + if serd.Parameters != nil { + objectMap["parameters"] = serd.Parameters + } + if serd.Annotations != nil { + objectMap["annotations"] = serd.Annotations + } + if serd.Folder != nil { + objectMap["folder"] = serd.Folder + } + if serd.Type != "" { + objectMap["type"] = serd.Type + } + for k, v := range serd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return &serd, true +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &serd, true +} + +// UnmarshalJSON is the custom unmarshaler for SapEccResourceDataset struct. +func (serd *SapEccResourceDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapEccResourceDatasetTypeProperties SapEccResourceDatasetTypeProperties + err = json.Unmarshal(*v, &sapEccResourceDatasetTypeProperties) + if err != nil { + return err + } + serd.SapEccResourceDatasetTypeProperties = &sapEccResourceDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if serd.AdditionalProperties == nil { + serd.AdditionalProperties = make(map[string]interface{}) + } + serd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + serd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + serd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + serd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + serd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + serd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + serd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + serd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + serd.Type = typeVar + } + } + } + + return nil +} + +// SapEccResourceDatasetTypeProperties sap ECC OData resource dataset properties. +type SapEccResourceDatasetTypeProperties struct { + // Path - The path of the SAP ECC OData entity. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// SapEccSource a copy activity source for SAP ECC source. +type SapEccSource struct { + // Query - SAP ECC OData query. For example, "$top=1". Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapEccSource. +func (ses SapEccSource) MarshalJSON() ([]byte, error) { + ses.Type = TypeSapEccSource + objectMap := make(map[string]interface{}) + if ses.Query != nil { + objectMap["query"] = ses.Query + } + if ses.QueryTimeout != nil { + objectMap["queryTimeout"] = ses.QueryTimeout + } + if ses.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ses.SourceRetryCount + } + if ses.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ses.SourceRetryWait + } + if ses.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ses.MaxConcurrentConnections + } + if ses.Type != "" { + objectMap["type"] = ses.Type + } + for k, v := range ses.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSapEccSource() (*SapEccSource, bool) { + return &ses, true +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ses, true +} + +// AsBinarySource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ses, true +} + +// UnmarshalJSON is the custom unmarshaler for SapEccSource struct. +func (ses *SapEccSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ses.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ses.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ses.AdditionalProperties == nil { + ses.AdditionalProperties = make(map[string]interface{}) + } + ses.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ses.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ses.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ses.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ses.Type = typeVar + } + } + } + + return nil +} + +// SapHanaLinkedService SAP HANA Linked Service. +type SapHanaLinkedService struct { + // SapHanaLinkedServiceProperties - Properties specific to this linked service type. + *SapHanaLinkedServiceProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapHanaLinkedService. +func (shls SapHanaLinkedService) MarshalJSON() ([]byte, error) { + shls.Type = TypeSapHana + objectMap := make(map[string]interface{}) + if shls.SapHanaLinkedServiceProperties != nil { + objectMap["typeProperties"] = shls.SapHanaLinkedServiceProperties + } + if shls.ConnectVia != nil { + objectMap["connectVia"] = shls.ConnectVia + } + if shls.Description != nil { + objectMap["description"] = shls.Description + } + if shls.Parameters != nil { + objectMap["parameters"] = shls.Parameters + } + if shls.Annotations != nil { + objectMap["annotations"] = shls.Annotations + } + if shls.Type != "" { + objectMap["type"] = shls.Type + } + for k, v := range shls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return &shls, true +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &shls, true +} + +// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedService struct. +func (shls *SapHanaLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapHanaLinkedServiceProperties SapHanaLinkedServiceProperties + err = json.Unmarshal(*v, &sapHanaLinkedServiceProperties) + if err != nil { + return err + } + shls.SapHanaLinkedServiceProperties = &sapHanaLinkedServiceProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if shls.AdditionalProperties == nil { + shls.AdditionalProperties = make(map[string]interface{}) + } + shls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + shls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + shls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + shls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + shls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + shls.Type = typeVar + } + } + } + + return nil +} + +// SapHanaLinkedServiceProperties properties specific to this linked service type. +type SapHanaLinkedServiceProperties struct { + // ConnectionString - SAP HANA ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Server - Host name of the SAP HANA server. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the SAP HANA server. Possible values include: 'SapHanaAuthenticationTypeBasic', 'SapHanaAuthenticationTypeWindows' + AuthenticationType SapHanaAuthenticationType `json:"authenticationType,omitempty"` + // UserName - Username to access the SAP HANA server. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password to access the SAP HANA server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedServiceProperties struct. +func (shlsp *SapHanaLinkedServiceProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + shlsp.ConnectionString = connectionString + } + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + shlsp.Server = server + } + case "authenticationType": + if v != nil { + var authenticationType SapHanaAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + shlsp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + shlsp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + shlsp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + shlsp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SapHanaPartitionSettings the settings that will be leveraged for SAP HANA source partitioning. +type SapHanaPartitionSettings struct { + // PartitionColumnName - The name of the column that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` +} + +// SapHanaSource a copy activity source for SAP HANA source. +type SapHanaSource struct { + // Query - SAP HANA Sql query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // PacketSize - The packet size of data read from SAP HANA. Type: integer(or Expression with resultType integer). + PacketSize interface{} `json:"packetSize,omitempty"` + // PartitionOption - The partition mechanism that will be used for SAP HANA read in parallel. Possible values include: 'SapHanaPartitionOptionNone', 'SapHanaPartitionOptionPhysicalPartitionsOfTable', 'SapHanaPartitionOptionSapHanaDynamicRange' + PartitionOption SapHanaPartitionOption `json:"partitionOption,omitempty"` + // PartitionSettings - The settings that will be leveraged for SAP HANA source partitioning. + PartitionSettings *SapHanaPartitionSettings `json:"partitionSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapHanaSource. +func (shs SapHanaSource) MarshalJSON() ([]byte, error) { + shs.Type = TypeSapHanaSource + objectMap := make(map[string]interface{}) + if shs.Query != nil { + objectMap["query"] = shs.Query + } + if shs.PacketSize != nil { + objectMap["packetSize"] = shs.PacketSize + } + if shs.PartitionOption != "" { + objectMap["partitionOption"] = shs.PartitionOption + } + if shs.PartitionSettings != nil { + objectMap["partitionSettings"] = shs.PartitionSettings + } + if shs.QueryTimeout != nil { + objectMap["queryTimeout"] = shs.QueryTimeout + } + if shs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = shs.SourceRetryCount + } + if shs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = shs.SourceRetryWait + } + if shs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = shs.MaxConcurrentConnections + } + if shs.Type != "" { + objectMap["type"] = shs.Type + } + for k, v := range shs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSapHanaSource() (*SapHanaSource, bool) { + return &shs, true +} + +// AsSapEccSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &shs, true +} + +// AsBinarySource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &shs, true +} + +// UnmarshalJSON is the custom unmarshaler for SapHanaSource struct. +func (shs *SapHanaSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + shs.Query = query + } + case "packetSize": + if v != nil { + var packetSize interface{} + err = json.Unmarshal(*v, &packetSize) + if err != nil { + return err + } + shs.PacketSize = packetSize + } + case "partitionOption": + if v != nil { + var partitionOption SapHanaPartitionOption + err = json.Unmarshal(*v, &partitionOption) + if err != nil { + return err + } + shs.PartitionOption = partitionOption + } + case "partitionSettings": + if v != nil { + var partitionSettings SapHanaPartitionSettings + err = json.Unmarshal(*v, &partitionSettings) + if err != nil { + return err + } + shs.PartitionSettings = &partitionSettings + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + shs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if shs.AdditionalProperties == nil { + shs.AdditionalProperties = make(map[string]interface{}) + } + shs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + shs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + shs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + shs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + shs.Type = typeVar + } + } + } + + return nil +} + +// SapHanaTableDataset SAP HANA Table properties. +type SapHanaTableDataset struct { + // SapHanaTableDatasetTypeProperties - SAP HANA Table properties. + *SapHanaTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapHanaTableDataset. +func (shtd SapHanaTableDataset) MarshalJSON() ([]byte, error) { + shtd.Type = TypeSapHanaTable + objectMap := make(map[string]interface{}) + if shtd.SapHanaTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = shtd.SapHanaTableDatasetTypeProperties + } + if shtd.Description != nil { + objectMap["description"] = shtd.Description + } + if shtd.Structure != nil { + objectMap["structure"] = shtd.Structure + } + if shtd.Schema != nil { + objectMap["schema"] = shtd.Schema + } + if shtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = shtd.LinkedServiceName + } + if shtd.Parameters != nil { + objectMap["parameters"] = shtd.Parameters + } + if shtd.Annotations != nil { + objectMap["annotations"] = shtd.Annotations + } + if shtd.Folder != nil { + objectMap["folder"] = shtd.Folder + } + if shtd.Type != "" { + objectMap["type"] = shtd.Type + } + for k, v := range shtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return &shtd, true +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &shtd, true +} + +// UnmarshalJSON is the custom unmarshaler for SapHanaTableDataset struct. +func (shtd *SapHanaTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapHanaTableDatasetTypeProperties SapHanaTableDatasetTypeProperties + err = json.Unmarshal(*v, &sapHanaTableDatasetTypeProperties) + if err != nil { + return err + } + shtd.SapHanaTableDatasetTypeProperties = &sapHanaTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if shtd.AdditionalProperties == nil { + shtd.AdditionalProperties = make(map[string]interface{}) + } + shtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + shtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + shtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + shtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + shtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + shtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + shtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + shtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + shtd.Type = typeVar + } + } + } + + return nil +} + +// SapHanaTableDatasetTypeProperties SAP HANA Table properties. +type SapHanaTableDatasetTypeProperties struct { + // Schema - The schema name of SAP HANA. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The table name of SAP HANA. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// SapOpenHubLinkedService SAP Business Warehouse Open Hub Destination Linked Service. +type SapOpenHubLinkedService struct { + // SapOpenHubLinkedServiceTypeProperties - Properties specific to SAP Business Warehouse Open Hub Destination linked service type. + *SapOpenHubLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) MarshalJSON() ([]byte, error) { + sohls.Type = TypeSapOpenHub + objectMap := make(map[string]interface{}) + if sohls.SapOpenHubLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sohls.SapOpenHubLinkedServiceTypeProperties + } + if sohls.ConnectVia != nil { + objectMap["connectVia"] = sohls.ConnectVia + } + if sohls.Description != nil { + objectMap["description"] = sohls.Description + } + if sohls.Parameters != nil { + objectMap["parameters"] = sohls.Parameters + } + if sohls.Annotations != nil { + objectMap["annotations"] = sohls.Annotations + } + if sohls.Type != "" { + objectMap["type"] = sohls.Type + } + for k, v := range sohls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return &sohls, true +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sohls, true +} + +// UnmarshalJSON is the custom unmarshaler for SapOpenHubLinkedService struct. +func (sohls *SapOpenHubLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapOpenHubLinkedServiceTypeProperties SapOpenHubLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sapOpenHubLinkedServiceTypeProperties) + if err != nil { + return err + } + sohls.SapOpenHubLinkedServiceTypeProperties = &sapOpenHubLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sohls.AdditionalProperties == nil { + sohls.AdditionalProperties = make(map[string]interface{}) + } + sohls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sohls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sohls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sohls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sohls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sohls.Type = typeVar + } + } + } + + return nil +} + +// SapOpenHubLinkedServiceTypeProperties properties specific to SAP Business Warehouse Open Hub Destination +// linked service type. +type SapOpenHubLinkedServiceTypeProperties struct { + // Server - Host name of the SAP BW instance where the open hub destination is located. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // 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). + SystemNumber interface{} `json:"systemNumber,omitempty"` + // 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). + ClientID interface{} `json:"clientId,omitempty"` + // 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). + Language interface{} `json:"language,omitempty"` + // UserName - Username to access the SAP BW server where the open hub destination is located. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password to access the SAP BW server where the open hub destination is located. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SapOpenHubLinkedServiceTypeProperties struct. +func (sohlstp *SapOpenHubLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + sohlstp.Server = server + } + case "systemNumber": + if v != nil { + var systemNumber interface{} + err = json.Unmarshal(*v, &systemNumber) + if err != nil { + return err + } + sohlstp.SystemNumber = systemNumber + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + sohlstp.ClientID = clientID + } + case "language": + if v != nil { + var language interface{} + err = json.Unmarshal(*v, &language) + if err != nil { + return err + } + sohlstp.Language = language + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + sohlstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sohlstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + sohlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SapOpenHubSource a copy activity source for SAP Business Warehouse Open Hub Destination source. +type SapOpenHubSource struct { + // ExcludeLastRequest - Whether to exclude the records of the last request. The default value is true. Type: boolean (or Expression with resultType boolean). + ExcludeLastRequest interface{} `json:"excludeLastRequest,omitempty"` + // 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 ). + BaseRequestID interface{} `json:"baseRequestId,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapOpenHubSource. +func (sohs SapOpenHubSource) MarshalJSON() ([]byte, error) { + sohs.Type = TypeSapOpenHubSource + objectMap := make(map[string]interface{}) + if sohs.ExcludeLastRequest != nil { + objectMap["excludeLastRequest"] = sohs.ExcludeLastRequest + } + if sohs.BaseRequestID != nil { + objectMap["baseRequestId"] = sohs.BaseRequestID + } + if sohs.QueryTimeout != nil { + objectMap["queryTimeout"] = sohs.QueryTimeout + } + if sohs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sohs.SourceRetryCount + } + if sohs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sohs.SourceRetryWait + } + if sohs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sohs.MaxConcurrentConnections + } + if sohs.Type != "" { + objectMap["type"] = sohs.Type + } + for k, v := range sohs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return &sohs, true +} + +// AsSapHanaSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sohs, true +} + +// AsBinarySource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsBasicCopySource() (BasicCopySource, bool) { + return &sohs, true +} + +// UnmarshalJSON is the custom unmarshaler for SapOpenHubSource struct. +func (sohs *SapOpenHubSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "excludeLastRequest": + if v != nil { + var excludeLastRequest interface{} + err = json.Unmarshal(*v, &excludeLastRequest) + if err != nil { + return err + } + sohs.ExcludeLastRequest = excludeLastRequest + } + case "baseRequestId": + if v != nil { + var baseRequestID interface{} + err = json.Unmarshal(*v, &baseRequestID) + if err != nil { + return err + } + sohs.BaseRequestID = baseRequestID + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sohs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sohs.AdditionalProperties == nil { + sohs.AdditionalProperties = make(map[string]interface{}) + } + sohs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sohs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sohs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sohs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sohs.Type = typeVar + } + } + } + + return nil +} + +// SapOpenHubTableDataset sap Business Warehouse Open Hub Destination Table properties. +type SapOpenHubTableDataset struct { + // SapOpenHubTableDatasetTypeProperties - Sap Business Warehouse Open Hub Destination Table properties. + *SapOpenHubTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) MarshalJSON() ([]byte, error) { + sohtd.Type = TypeSapOpenHubTable + objectMap := make(map[string]interface{}) + if sohtd.SapOpenHubTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = sohtd.SapOpenHubTableDatasetTypeProperties + } + if sohtd.Description != nil { + objectMap["description"] = sohtd.Description + } + if sohtd.Structure != nil { + objectMap["structure"] = sohtd.Structure + } + if sohtd.Schema != nil { + objectMap["schema"] = sohtd.Schema + } + if sohtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sohtd.LinkedServiceName + } + if sohtd.Parameters != nil { + objectMap["parameters"] = sohtd.Parameters + } + if sohtd.Annotations != nil { + objectMap["annotations"] = sohtd.Annotations + } + if sohtd.Folder != nil { + objectMap["folder"] = sohtd.Folder + } + if sohtd.Type != "" { + objectMap["type"] = sohtd.Type + } + for k, v := range sohtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return &sohtd, true +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &sohtd, true +} + +// UnmarshalJSON is the custom unmarshaler for SapOpenHubTableDataset struct. +func (sohtd *SapOpenHubTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapOpenHubTableDatasetTypeProperties SapOpenHubTableDatasetTypeProperties + err = json.Unmarshal(*v, &sapOpenHubTableDatasetTypeProperties) + if err != nil { + return err + } + sohtd.SapOpenHubTableDatasetTypeProperties = &sapOpenHubTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sohtd.AdditionalProperties == nil { + sohtd.AdditionalProperties = make(map[string]interface{}) + } + sohtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sohtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sohtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sohtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sohtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sohtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sohtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sohtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sohtd.Type = typeVar + } + } + } + + return nil +} + +// SapOpenHubTableDatasetTypeProperties sap Business Warehouse Open Hub Destination Table properties. +type SapOpenHubTableDatasetTypeProperties struct { + // OpenHubDestinationName - The name of the Open Hub Destination with destination type as Database Table. Type: string (or Expression with resultType string). + OpenHubDestinationName interface{} `json:"openHubDestinationName,omitempty"` + // ExcludeLastRequest - Whether to exclude the records of the last request. The default value is true. Type: boolean (or Expression with resultType boolean). + ExcludeLastRequest interface{} `json:"excludeLastRequest,omitempty"` + // 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 ). + BaseRequestID interface{} `json:"baseRequestId,omitempty"` +} + +// SapTableLinkedService SAP Table Linked Service. +type SapTableLinkedService struct { + // SapTableLinkedServiceTypeProperties - Properties specific to this linked service type. + *SapTableLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapTableLinkedService. +func (stls SapTableLinkedService) MarshalJSON() ([]byte, error) { + stls.Type = TypeSapTable + objectMap := make(map[string]interface{}) + if stls.SapTableLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = stls.SapTableLinkedServiceTypeProperties + } + if stls.ConnectVia != nil { + objectMap["connectVia"] = stls.ConnectVia + } + if stls.Description != nil { + objectMap["description"] = stls.Description + } + if stls.Parameters != nil { + objectMap["parameters"] = stls.Parameters + } + if stls.Annotations != nil { + objectMap["annotations"] = stls.Annotations + } + if stls.Type != "" { + objectMap["type"] = stls.Type + } + for k, v := range stls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return &stls, true +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &stls, true +} + +// UnmarshalJSON is the custom unmarshaler for SapTableLinkedService struct. +func (stls *SapTableLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapTableLinkedServiceTypeProperties SapTableLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sapTableLinkedServiceTypeProperties) + if err != nil { + return err + } + stls.SapTableLinkedServiceTypeProperties = &sapTableLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if stls.AdditionalProperties == nil { + stls.AdditionalProperties = make(map[string]interface{}) + } + stls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + stls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + stls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + stls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + stls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + stls.Type = typeVar + } + } + } + + return nil +} + +// SapTableLinkedServiceTypeProperties properties specific to this linked service type. +type SapTableLinkedServiceTypeProperties struct { + // Server - Host name of the SAP instance where the table is located. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // 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). + SystemNumber interface{} `json:"systemNumber,omitempty"` + // 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). + ClientID interface{} `json:"clientId,omitempty"` + // Language - Language of the SAP system where the table is located. The default value is EN. Type: string (or Expression with resultType string). + Language interface{} `json:"language,omitempty"` + // SystemID - SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string). + SystemID interface{} `json:"systemId,omitempty"` + // UserName - Username to access the SAP server where the table is located. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password to access the SAP server where the table is located. + Password BasicSecretBase `json:"password,omitempty"` + // MessageServer - The hostname of the SAP Message Server. Type: string (or Expression with resultType string). + MessageServer interface{} `json:"messageServer,omitempty"` + // MessageServerService - The service name or port number of the Message Server. Type: string (or Expression with resultType string). + MessageServerService interface{} `json:"messageServerService,omitempty"` + // 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). + SncMode interface{} `json:"sncMode,omitempty"` + // SncMyName - Initiator's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string). + SncMyName interface{} `json:"sncMyName,omitempty"` + // SncPartnerName - Communication partner's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string). + SncPartnerName interface{} `json:"sncPartnerName,omitempty"` + // SncLibraryPath - External security product's library to access the SAP server where the table is located. Type: string (or Expression with resultType string). + SncLibraryPath interface{} `json:"sncLibraryPath,omitempty"` + // SncQop - SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string (or Expression with resultType string). + SncQop interface{} `json:"sncQop,omitempty"` + // LogonGroup - The Logon Group for the SAP System. Type: string (or Expression with resultType string). + LogonGroup interface{} `json:"logonGroup,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SapTableLinkedServiceTypeProperties struct. +func (stlstp *SapTableLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + stlstp.Server = server + } + case "systemNumber": + if v != nil { + var systemNumber interface{} + err = json.Unmarshal(*v, &systemNumber) + if err != nil { + return err + } + stlstp.SystemNumber = systemNumber + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + stlstp.ClientID = clientID + } + case "language": + if v != nil { + var language interface{} + err = json.Unmarshal(*v, &language) + if err != nil { + return err + } + stlstp.Language = language + } + case "systemId": + if v != nil { + var systemID interface{} + err = json.Unmarshal(*v, &systemID) + if err != nil { + return err + } + stlstp.SystemID = systemID + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + stlstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + stlstp.Password = password + } + case "messageServer": + if v != nil { + var messageServer interface{} + err = json.Unmarshal(*v, &messageServer) + if err != nil { + return err + } + stlstp.MessageServer = messageServer + } + case "messageServerService": + if v != nil { + var messageServerService interface{} + err = json.Unmarshal(*v, &messageServerService) + if err != nil { + return err + } + stlstp.MessageServerService = messageServerService + } + case "sncMode": + if v != nil { + var sncMode interface{} + err = json.Unmarshal(*v, &sncMode) + if err != nil { + return err + } + stlstp.SncMode = sncMode + } + case "sncMyName": + if v != nil { + var sncMyName interface{} + err = json.Unmarshal(*v, &sncMyName) + if err != nil { + return err + } + stlstp.SncMyName = sncMyName + } + case "sncPartnerName": + if v != nil { + var sncPartnerName interface{} + err = json.Unmarshal(*v, &sncPartnerName) + if err != nil { + return err + } + stlstp.SncPartnerName = sncPartnerName + } + case "sncLibraryPath": + if v != nil { + var sncLibraryPath interface{} + err = json.Unmarshal(*v, &sncLibraryPath) + if err != nil { + return err + } + stlstp.SncLibraryPath = sncLibraryPath + } + case "sncQop": + if v != nil { + var sncQop interface{} + err = json.Unmarshal(*v, &sncQop) + if err != nil { + return err + } + stlstp.SncQop = sncQop + } + case "logonGroup": + if v != nil { + var logonGroup interface{} + err = json.Unmarshal(*v, &logonGroup) + if err != nil { + return err + } + stlstp.LogonGroup = logonGroup + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + stlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SapTablePartitionSettings the settings that will be leveraged for SAP table source partitioning. +type SapTablePartitionSettings struct { + // PartitionColumnName - The name of the column that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` + // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` + // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` + // MaxPartitionsNumber - The maximum value of partitions the table will be split into. Type: integer (or Expression with resultType string). + MaxPartitionsNumber interface{} `json:"maxPartitionsNumber,omitempty"` +} + +// SapTableResourceDataset SAP Table Resource properties. +type SapTableResourceDataset struct { + // SapTableResourceDatasetTypeProperties - SAP Table Resource properties. + *SapTableResourceDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapTableResourceDataset. +func (strd SapTableResourceDataset) MarshalJSON() ([]byte, error) { + strd.Type = TypeSapTableResource + objectMap := make(map[string]interface{}) + if strd.SapTableResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = strd.SapTableResourceDatasetTypeProperties + } + if strd.Description != nil { + objectMap["description"] = strd.Description + } + if strd.Structure != nil { + objectMap["structure"] = strd.Structure + } + if strd.Schema != nil { + objectMap["schema"] = strd.Schema + } + if strd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = strd.LinkedServiceName + } + if strd.Parameters != nil { + objectMap["parameters"] = strd.Parameters + } + if strd.Annotations != nil { + objectMap["annotations"] = strd.Annotations + } + if strd.Folder != nil { + objectMap["folder"] = strd.Folder + } + if strd.Type != "" { + objectMap["type"] = strd.Type + } + for k, v := range strd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return &strd, true +} + +// AsRestResourceDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &strd, true +} + +// UnmarshalJSON is the custom unmarshaler for SapTableResourceDataset struct. +func (strd *SapTableResourceDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sapTableResourceDatasetTypeProperties SapTableResourceDatasetTypeProperties + err = json.Unmarshal(*v, &sapTableResourceDatasetTypeProperties) + if err != nil { + return err + } + strd.SapTableResourceDatasetTypeProperties = &sapTableResourceDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if strd.AdditionalProperties == nil { + strd.AdditionalProperties = make(map[string]interface{}) + } + strd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + strd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + strd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + strd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + strd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + strd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + strd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + strd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + strd.Type = typeVar + } + } + } + + return nil +} + +// SapTableResourceDatasetTypeProperties SAP Table Resource properties. +type SapTableResourceDatasetTypeProperties struct { + // TableName - The name of the SAP Table. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// SapTableSource a copy activity source for SAP Table source. +type SapTableSource struct { + // RowCount - The number of rows to be retrieved. Type: integer(or Expression with resultType integer). + RowCount interface{} `json:"rowCount,omitempty"` + // RowSkips - The number of rows that will be skipped. Type: integer (or Expression with resultType integer). + RowSkips interface{} `json:"rowSkips,omitempty"` + // RfcTableFields - The fields of the SAP table that will be retrieved. For example, column0, column1. Type: string (or Expression with resultType string). + RfcTableFields interface{} `json:"rfcTableFields,omitempty"` + // RfcTableOptions - The options for the filtering of the SAP Table. For example, COLUMN0 EQ SOME VALUE. Type: string (or Expression with resultType string). + RfcTableOptions interface{} `json:"rfcTableOptions,omitempty"` + // 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). + BatchSize interface{} `json:"batchSize,omitempty"` + // CustomRfcReadTableFunctionModule - Specifies the custom RFC function module that will be used to read data from SAP Table. Type: string (or Expression with resultType string). + CustomRfcReadTableFunctionModule interface{} `json:"customRfcReadTableFunctionModule,omitempty"` + // PartitionOption - The partition mechanism that will be used for SAP table read in parallel. Possible values include: 'SapTablePartitionOptionNone', 'SapTablePartitionOptionPartitionOnInt', 'SapTablePartitionOptionPartitionOnCalendarYear', 'SapTablePartitionOptionPartitionOnCalendarMonth', 'SapTablePartitionOptionPartitionOnCalendarDate', 'SapTablePartitionOptionPartitionOnTime' + PartitionOption SapTablePartitionOption `json:"partitionOption,omitempty"` + // PartitionSettings - The settings that will be leveraged for SAP table source partitioning. + PartitionSettings *SapTablePartitionSettings `json:"partitionSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SapTableSource. +func (sts SapTableSource) MarshalJSON() ([]byte, error) { + sts.Type = TypeSapTableSource + objectMap := make(map[string]interface{}) + if sts.RowCount != nil { + objectMap["rowCount"] = sts.RowCount + } + if sts.RowSkips != nil { + objectMap["rowSkips"] = sts.RowSkips + } + if sts.RfcTableFields != nil { + objectMap["rfcTableFields"] = sts.RfcTableFields + } + if sts.RfcTableOptions != nil { + objectMap["rfcTableOptions"] = sts.RfcTableOptions + } + if sts.BatchSize != nil { + objectMap["batchSize"] = sts.BatchSize + } + if sts.CustomRfcReadTableFunctionModule != nil { + objectMap["customRfcReadTableFunctionModule"] = sts.CustomRfcReadTableFunctionModule + } + if sts.PartitionOption != "" { + objectMap["partitionOption"] = sts.PartitionOption + } + if sts.PartitionSettings != nil { + objectMap["partitionSettings"] = sts.PartitionSettings + } + if sts.QueryTimeout != nil { + objectMap["queryTimeout"] = sts.QueryTimeout + } + if sts.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sts.SourceRetryCount + } + if sts.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sts.SourceRetryWait + } + if sts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sts.MaxConcurrentConnections + } + if sts.Type != "" { + objectMap["type"] = sts.Type + } + for k, v := range sts.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSapTableSource() (*SapTableSource, bool) { + return &sts, true +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sts, true +} + +// AsBinarySource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsBasicCopySource() (BasicCopySource, bool) { + return &sts, true +} + +// UnmarshalJSON is the custom unmarshaler for SapTableSource struct. +func (sts *SapTableSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "rowCount": + if v != nil { + var rowCount interface{} + err = json.Unmarshal(*v, &rowCount) + if err != nil { + return err + } + sts.RowCount = rowCount + } + case "rowSkips": + if v != nil { + var rowSkips interface{} + err = json.Unmarshal(*v, &rowSkips) + if err != nil { + return err + } + sts.RowSkips = rowSkips + } + case "rfcTableFields": + if v != nil { + var rfcTableFields interface{} + err = json.Unmarshal(*v, &rfcTableFields) + if err != nil { + return err + } + sts.RfcTableFields = rfcTableFields + } + case "rfcTableOptions": + if v != nil { + var rfcTableOptions interface{} + err = json.Unmarshal(*v, &rfcTableOptions) + if err != nil { + return err + } + sts.RfcTableOptions = rfcTableOptions + } + case "batchSize": + if v != nil { + var batchSize interface{} + err = json.Unmarshal(*v, &batchSize) + if err != nil { + return err + } + sts.BatchSize = batchSize + } + case "customRfcReadTableFunctionModule": + if v != nil { + var customRfcReadTableFunctionModule interface{} + err = json.Unmarshal(*v, &customRfcReadTableFunctionModule) + if err != nil { + return err + } + sts.CustomRfcReadTableFunctionModule = customRfcReadTableFunctionModule + } + case "partitionOption": + if v != nil { + var partitionOption SapTablePartitionOption + err = json.Unmarshal(*v, &partitionOption) + if err != nil { + return err + } + sts.PartitionOption = partitionOption + } + case "partitionSettings": + if v != nil { + var partitionSettings SapTablePartitionSettings + err = json.Unmarshal(*v, &partitionSettings) + if err != nil { + return err + } + sts.PartitionSettings = &partitionSettings + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sts.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sts.AdditionalProperties == nil { + sts.AdditionalProperties = make(map[string]interface{}) + } + sts.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sts.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sts.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sts.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sts.Type = typeVar + } + } + } + + return nil +} + +// ScheduleTrigger trigger that creates pipeline runs periodically, on schedule. +type ScheduleTrigger struct { + // ScheduleTriggerTypeProperties - Schedule Trigger properties. + *ScheduleTriggerTypeProperties `json:"typeProperties,omitempty"` + // Pipelines - Pipelines that need to be started. + Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ScheduleTrigger. +func (st ScheduleTrigger) MarshalJSON() ([]byte, error) { + st.Type = TypeScheduleTrigger + objectMap := make(map[string]interface{}) + if st.ScheduleTriggerTypeProperties != nil { + objectMap["typeProperties"] = st.ScheduleTriggerTypeProperties + } + if st.Pipelines != nil { + objectMap["pipelines"] = st.Pipelines + } + if st.Description != nil { + objectMap["description"] = st.Description + } + if st.Annotations != nil { + objectMap["annotations"] = st.Annotations + } + if st.Type != "" { + objectMap["type"] = st.Type + } + for k, v := range st.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return &st, true +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return &st, true +} + +// AsTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &st, true +} + +// UnmarshalJSON is the custom unmarshaler for ScheduleTrigger struct. +func (st *ScheduleTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var scheduleTriggerTypeProperties ScheduleTriggerTypeProperties + err = json.Unmarshal(*v, &scheduleTriggerTypeProperties) + if err != nil { + return err + } + st.ScheduleTriggerTypeProperties = &scheduleTriggerTypeProperties + } + case "pipelines": + if v != nil { + var pipelines []TriggerPipelineReference + err = json.Unmarshal(*v, &pipelines) + if err != nil { + return err + } + st.Pipelines = &pipelines + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if st.AdditionalProperties == nil { + st.AdditionalProperties = make(map[string]interface{}) + } + st.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + st.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + st.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + st.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + st.Type = typeVar + } + } + } + + return nil +} + +// ScheduleTriggerRecurrence the workflow trigger recurrence. +type ScheduleTriggerRecurrence struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Frequency - The frequency. Possible values include: 'NotSpecified', 'Minute', 'Hour', 'Day', 'Week', 'Month', 'Year' + Frequency RecurrenceFrequency `json:"frequency,omitempty"` + // Interval - The interval. + Interval *int32 `json:"interval,omitempty"` + // StartTime - The start time. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time. + EndTime *date.Time `json:"endTime,omitempty"` + // TimeZone - The time zone. + TimeZone *string `json:"timeZone,omitempty"` + // Schedule - The recurrence schedule. + Schedule *RecurrenceSchedule `json:"schedule,omitempty"` +} + +// MarshalJSON is the custom marshaler for ScheduleTriggerRecurrence. +func (str ScheduleTriggerRecurrence) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if str.Frequency != "" { + objectMap["frequency"] = str.Frequency + } + if str.Interval != nil { + objectMap["interval"] = str.Interval + } + if str.StartTime != nil { + objectMap["startTime"] = str.StartTime + } + if str.EndTime != nil { + objectMap["endTime"] = str.EndTime + } + if str.TimeZone != nil { + objectMap["timeZone"] = str.TimeZone + } + if str.Schedule != nil { + objectMap["schedule"] = str.Schedule + } + for k, v := range str.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ScheduleTriggerRecurrence struct. +func (str *ScheduleTriggerRecurrence) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if str.AdditionalProperties == nil { + str.AdditionalProperties = make(map[string]interface{}) + } + str.AdditionalProperties[k] = additionalProperties + } + case "frequency": + if v != nil { + var frequency RecurrenceFrequency + err = json.Unmarshal(*v, &frequency) + if err != nil { + return err + } + str.Frequency = frequency + } + case "interval": + if v != nil { + var interval int32 + err = json.Unmarshal(*v, &interval) + if err != nil { + return err + } + str.Interval = &interval + } + case "startTime": + if v != nil { + var startTime date.Time + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + str.StartTime = &startTime + } + case "endTime": + if v != nil { + var endTime date.Time + err = json.Unmarshal(*v, &endTime) + if err != nil { + return err + } + str.EndTime = &endTime + } + case "timeZone": + if v != nil { + var timeZone string + err = json.Unmarshal(*v, &timeZone) + if err != nil { + return err + } + str.TimeZone = &timeZone + } + case "schedule": + if v != nil { + var schedule RecurrenceSchedule + err = json.Unmarshal(*v, &schedule) + if err != nil { + return err + } + str.Schedule = &schedule + } + } + } + + return nil +} + +// ScheduleTriggerTypeProperties schedule Trigger properties. +type ScheduleTriggerTypeProperties struct { + // Recurrence - Recurrence schedule configuration. + Recurrence *ScheduleTriggerRecurrence `json:"recurrence,omitempty"` +} + +// ScriptAction custom script action to run on HDI ondemand cluster once it's up. +type ScriptAction struct { + // Name - The user provided name of the script action. + Name *string `json:"name,omitempty"` + // URI - The URI for the script action. + URI *string `json:"uri,omitempty"` + // Roles - The node types on which the script action should be executed. Possible values include: 'Headnode', 'Workernode', 'Zookeeper' + Roles HdiNodeTypes `json:"roles,omitempty"` + // Parameters - The parameters for the script action. + Parameters *string `json:"parameters,omitempty"` +} + +// BasicSecretBase the base definition of a secret type. +type BasicSecretBase interface { + AsSecureString() (*SecureString, bool) + AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) + AsSecretBase() (*SecretBase, bool) +} + +// SecretBase the base definition of a secret type. +type SecretBase struct { + // Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret' + Type Type `json:"type,omitempty"` +} + +func unmarshalBasicSecretBase(body []byte) (BasicSecretBase, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeSecureString): + var ss SecureString + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeAzureKeyVaultSecret): + var akvsr AzureKeyVaultSecretReference + err := json.Unmarshal(body, &akvsr) + return akvsr, err + default: + var sb SecretBase + err := json.Unmarshal(body, &sb) + return sb, err + } +} +func unmarshalBasicSecretBaseArray(body []byte) ([]BasicSecretBase, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + sbArray := make([]BasicSecretBase, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sb, err := unmarshalBasicSecretBase(*rawMessage) + if err != nil { + return nil, err + } + sbArray[index] = sb + } + return sbArray, nil +} + +// MarshalJSON is the custom marshaler for SecretBase. +func (sb SecretBase) MarshalJSON() ([]byte, error) { + sb.Type = TypeSecretBase + objectMap := make(map[string]interface{}) + if sb.Type != "" { + objectMap["type"] = sb.Type + } + return json.Marshal(objectMap) +} + +// AsSecureString is the BasicSecretBase implementation for SecretBase. +func (sb SecretBase) AsSecureString() (*SecureString, bool) { + return nil, false +} + +// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecretBase. +func (sb SecretBase) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) { + return nil, false +} + +// AsSecretBase is the BasicSecretBase implementation for SecretBase. +func (sb SecretBase) AsSecretBase() (*SecretBase, bool) { + return &sb, true +} + +// AsBasicSecretBase is the BasicSecretBase implementation for SecretBase. +func (sb SecretBase) AsBasicSecretBase() (BasicSecretBase, bool) { + return &sb, true +} + +// SecureString azure Synapse secure string definition. The string value will be masked with asterisks '*' +// during Get or List API calls. +type SecureString struct { + // Value - Value of secure string. + Value *string `json:"value,omitempty"` + // Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret' + Type Type `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SecureString. +func (ss SecureString) MarshalJSON() ([]byte, error) { + ss.Type = TypeSecureString + objectMap := make(map[string]interface{}) + if ss.Value != nil { + objectMap["value"] = ss.Value + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + return json.Marshal(objectMap) +} + +// AsSecureString is the BasicSecretBase implementation for SecureString. +func (ss SecureString) AsSecureString() (*SecureString, bool) { + return &ss, true +} + +// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecureString. +func (ss SecureString) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) { + return nil, false +} + +// AsSecretBase is the BasicSecretBase implementation for SecureString. +func (ss SecureString) AsSecretBase() (*SecretBase, bool) { + return nil, false +} + +// AsBasicSecretBase is the BasicSecretBase implementation for SecureString. +func (ss SecureString) AsBasicSecretBase() (BasicSecretBase, bool) { + return &ss, true +} + +// SelfDependencyTumblingWindowTriggerReference self referenced tumbling window trigger dependency. +type SelfDependencyTumblingWindowTriggerReference struct { + // Offset - Timespan applied to the start time of a tumbling window when evaluating dependency. + Offset *string `json:"offset,omitempty"` + // Size - The size of the window when evaluating the dependency. If undefined the frequency of the tumbling window will be used. + Size *string `json:"size,omitempty"` + // Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference' + Type TypeBasicDependencyReference `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SelfDependencyTumblingWindowTriggerReference. +func (sdtwtr SelfDependencyTumblingWindowTriggerReference) MarshalJSON() ([]byte, error) { + sdtwtr.Type = TypeSelfDependencyTumblingWindowTriggerReference + objectMap := make(map[string]interface{}) + if sdtwtr.Offset != nil { + objectMap["offset"] = sdtwtr.Offset + } + if sdtwtr.Size != nil { + objectMap["size"] = sdtwtr.Size + } + if sdtwtr.Type != "" { + objectMap["type"] = sdtwtr.Type + } + return json.Marshal(objectMap) +} + +// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference. +func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) { + return &sdtwtr, true +} + +// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference. +func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) { + return nil, false +} + +// AsTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference. +func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) { + return nil, false +} + +// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference. +func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) { + return nil, false +} + +// AsDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference. +func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsDependencyReference() (*DependencyReference, bool) { + return nil, false +} + +// AsBasicDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference. +func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsBasicDependencyReference() (BasicDependencyReference, bool) { + return &sdtwtr, true +} + +// ServiceNowLinkedService serviceNow server linked service. +type ServiceNowLinkedService struct { + // ServiceNowLinkedServiceTypeProperties - ServiceNow server linked service properties. + *ServiceNowLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) MarshalJSON() ([]byte, error) { + snls.Type = TypeServiceNow + objectMap := make(map[string]interface{}) + if snls.ServiceNowLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = snls.ServiceNowLinkedServiceTypeProperties + } + if snls.ConnectVia != nil { + objectMap["connectVia"] = snls.ConnectVia + } + if snls.Description != nil { + objectMap["description"] = snls.Description + } + if snls.Parameters != nil { + objectMap["parameters"] = snls.Parameters + } + if snls.Annotations != nil { + objectMap["annotations"] = snls.Annotations + } + if snls.Type != "" { + objectMap["type"] = snls.Type + } + for k, v := range snls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return &snls, true +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &snls, true +} + +// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedService struct. +func (snls *ServiceNowLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var serviceNowLinkedServiceTypeProperties ServiceNowLinkedServiceTypeProperties + err = json.Unmarshal(*v, &serviceNowLinkedServiceTypeProperties) + if err != nil { + return err + } + snls.ServiceNowLinkedServiceTypeProperties = &serviceNowLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if snls.AdditionalProperties == nil { + snls.AdditionalProperties = make(map[string]interface{}) + } + snls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + snls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + snls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + snls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + snls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + snls.Type = typeVar + } + } + } + + return nil +} + +// ServiceNowLinkedServiceTypeProperties serviceNow server linked service properties. +type ServiceNowLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the ServiceNow server. (i.e. .service-now.com) + Endpoint interface{} `json:"endpoint,omitempty"` + // AuthenticationType - The authentication type to use. Possible values include: 'ServiceNowAuthenticationTypeBasic', 'ServiceNowAuthenticationTypeOAuth2' + AuthenticationType ServiceNowAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name used to connect to the ServiceNow server for Basic and OAuth2 authentication. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name for Basic and OAuth2 authentication. + Password BasicSecretBase `json:"password,omitempty"` + // ClientID - The client id for OAuth2 authentication. + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret for OAuth2 authentication. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedServiceTypeProperties struct. +func (snlstp *ServiceNowLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + snlstp.Endpoint = endpoint + } + case "authenticationType": + if v != nil { + var authenticationType ServiceNowAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + snlstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + snlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + snlstp.Password = password + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + snlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + snlstp.ClientSecret = clientSecret + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + snlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + snlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + snlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + snlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ServiceNowObjectDataset serviceNow server dataset. +type ServiceNowObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) MarshalJSON() ([]byte, error) { + snod.Type = TypeServiceNowObject + objectMap := make(map[string]interface{}) + if snod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = snod.GenericDatasetTypeProperties + } + if snod.Description != nil { + objectMap["description"] = snod.Description + } + if snod.Structure != nil { + objectMap["structure"] = snod.Structure + } + if snod.Schema != nil { + objectMap["schema"] = snod.Schema + } + if snod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = snod.LinkedServiceName + } + if snod.Parameters != nil { + objectMap["parameters"] = snod.Parameters + } + if snod.Annotations != nil { + objectMap["annotations"] = snod.Annotations + } + if snod.Folder != nil { + objectMap["folder"] = snod.Folder + } + if snod.Type != "" { + objectMap["type"] = snod.Type + } + for k, v := range snod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return &snod, true +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &snod, true +} + +// UnmarshalJSON is the custom unmarshaler for ServiceNowObjectDataset struct. +func (snod *ServiceNowObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + snod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if snod.AdditionalProperties == nil { + snod.AdditionalProperties = make(map[string]interface{}) + } + snod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + snod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + snod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + snod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + snod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + snod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + snod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + snod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + snod.Type = typeVar + } + } + } + + return nil +} + +// ServiceNowSource a copy activity ServiceNow server source. +type ServiceNowSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceNowSource. +func (sns ServiceNowSource) MarshalJSON() ([]byte, error) { + sns.Type = TypeServiceNowSource + objectMap := make(map[string]interface{}) + if sns.Query != nil { + objectMap["query"] = sns.Query + } + if sns.QueryTimeout != nil { + objectMap["queryTimeout"] = sns.QueryTimeout + } + if sns.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sns.SourceRetryCount + } + if sns.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sns.SourceRetryWait + } + if sns.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sns.MaxConcurrentConnections + } + if sns.Type != "" { + objectMap["type"] = sns.Type + } + for k, v := range sns.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return &sns, true +} + +// AsQuickBooksSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sns, true +} + +// AsBinarySource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsBasicCopySource() (BasicCopySource, bool) { + return &sns, true +} + +// UnmarshalJSON is the custom unmarshaler for ServiceNowSource struct. +func (sns *ServiceNowSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + sns.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sns.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sns.AdditionalProperties == nil { + sns.AdditionalProperties = make(map[string]interface{}) + } + sns.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sns.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sns.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sns.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sns.Type = typeVar + } + } + } + + return nil +} + +// SetVariableActivity set value for a Variable. +type SetVariableActivity struct { + // SetVariableActivityTypeProperties - Set Variable activity properties. + *SetVariableActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SetVariableActivity. +func (sva SetVariableActivity) MarshalJSON() ([]byte, error) { + sva.Type = TypeSetVariable + objectMap := make(map[string]interface{}) + if sva.SetVariableActivityTypeProperties != nil { + objectMap["typeProperties"] = sva.SetVariableActivityTypeProperties + } + if sva.Name != nil { + objectMap["name"] = sva.Name + } + if sva.Description != nil { + objectMap["description"] = sva.Description + } + if sva.DependsOn != nil { + objectMap["dependsOn"] = sva.DependsOn + } + if sva.UserProperties != nil { + objectMap["userProperties"] = sva.UserProperties + } + if sva.Type != "" { + objectMap["type"] = sva.Type + } + for k, v := range sva.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return &sva, true +} + +// AsFilterActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &sva, true +} + +// AsActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsBasicActivity() (BasicActivity, bool) { + return &sva, true +} + +// UnmarshalJSON is the custom unmarshaler for SetVariableActivity struct. +func (sva *SetVariableActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var setVariableActivityTypeProperties SetVariableActivityTypeProperties + err = json.Unmarshal(*v, &setVariableActivityTypeProperties) + if err != nil { + return err + } + sva.SetVariableActivityTypeProperties = &setVariableActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sva.AdditionalProperties == nil { + sva.AdditionalProperties = make(map[string]interface{}) + } + sva.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sva.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sva.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + sva.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + sva.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sva.Type = typeVar + } + } + } + + return nil +} + +// SetVariableActivityTypeProperties setVariable activity properties. +type SetVariableActivityTypeProperties struct { + // VariableName - Name of the variable whose value needs to be set. + VariableName *string `json:"variableName,omitempty"` + // Value - Value to be set. Could be a static value or Expression + Value interface{} `json:"value,omitempty"` +} + +// SftpLocation the location of SFTP dataset. +type SftpLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation' + Type TypeBasicDatasetLocation `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SftpLocation. +func (sl SftpLocation) MarshalJSON() ([]byte, error) { + sl.Type = TypeSftpLocation + objectMap := make(map[string]interface{}) + if sl.FolderPath != nil { + objectMap["folderPath"] = sl.FolderPath + } + if sl.FileName != nil { + objectMap["fileName"] = sl.FileName + } + if sl.Type != "" { + objectMap["type"] = sl.Type + } + for k, v := range sl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsHdfsLocation() (*HdfsLocation, bool) { + return nil, false +} + +// AsHTTPServerLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) { + return nil, false +} + +// AsSftpLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsSftpLocation() (*SftpLocation, bool) { + return &sl, true +} + +// AsFtpServerLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsFtpServerLocation() (*FtpServerLocation, bool) { + return nil, false +} + +// AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) { + return nil, false +} + +// AsAzureFileStorageLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) { + return nil, false +} + +// AsFileServerLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsFileServerLocation() (*FileServerLocation, bool) { + return nil, false +} + +// AsAmazonS3Location is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsAmazonS3Location() (*AmazonS3Location, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) { + return nil, false +} + +// AsAzureBlobFSLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) { + return nil, false +} + +// AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) { + return nil, false +} + +// AsDatasetLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsDatasetLocation() (*DatasetLocation, bool) { + return nil, false +} + +// AsBasicDatasetLocation is the BasicDatasetLocation implementation for SftpLocation. +func (sl SftpLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) { + return &sl, true +} + +// UnmarshalJSON is the custom unmarshaler for SftpLocation struct. +func (sl *SftpLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sl.AdditionalProperties == nil { + sl.AdditionalProperties = make(map[string]interface{}) + } + sl.AdditionalProperties[k] = additionalProperties + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + sl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + sl.FileName = fileName + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetLocation + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sl.Type = typeVar + } + } + } + + return nil +} + +// SftpReadSettings sftp read settings. +type SftpReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Sftp wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Sftp wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SftpReadSettings. +func (srs SftpReadSettings) MarshalJSON() ([]byte, error) { + srs.Type = TypeSftpReadSettings + objectMap := make(map[string]interface{}) + if srs.Recursive != nil { + objectMap["recursive"] = srs.Recursive + } + if srs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = srs.WildcardFolderPath + } + if srs.WildcardFileName != nil { + objectMap["wildcardFileName"] = srs.WildcardFileName + } + if srs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = srs.ModifiedDatetimeStart + } + if srs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = srs.ModifiedDatetimeEnd + } + if srs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = srs.MaxConcurrentConnections + } + if srs.Type != "" { + objectMap["type"] = srs.Type + } + for k, v := range srs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return &srs, true +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return nil, false +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings. +func (srs SftpReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &srs, true +} + +// UnmarshalJSON is the custom unmarshaler for SftpReadSettings struct. +func (srs *SftpReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + srs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + srs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + srs.WildcardFileName = wildcardFileName + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + srs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + srs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if srs.AdditionalProperties == nil { + srs.AdditionalProperties = make(map[string]interface{}) + } + srs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + srs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + srs.Type = typeVar + } + } + } + + return nil +} + +// SftpServerLinkedService a linked service for an SSH File Transfer Protocol (SFTP) server. +type SftpServerLinkedService struct { + // SftpServerLinkedServiceTypeProperties - Properties specific to this linked service type. + *SftpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SftpServerLinkedService. +func (ssls SftpServerLinkedService) MarshalJSON() ([]byte, error) { + ssls.Type = TypeSftp + objectMap := make(map[string]interface{}) + if ssls.SftpServerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ssls.SftpServerLinkedServiceTypeProperties + } + if ssls.ConnectVia != nil { + objectMap["connectVia"] = ssls.ConnectVia + } + if ssls.Description != nil { + objectMap["description"] = ssls.Description + } + if ssls.Parameters != nil { + objectMap["parameters"] = ssls.Parameters + } + if ssls.Annotations != nil { + objectMap["annotations"] = ssls.Annotations + } + if ssls.Type != "" { + objectMap["type"] = ssls.Type + } + for k, v := range ssls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return &ssls, true +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ssls, true +} + +// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedService struct. +func (ssls *SftpServerLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sftpServerLinkedServiceTypeProperties SftpServerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sftpServerLinkedServiceTypeProperties) + if err != nil { + return err + } + ssls.SftpServerLinkedServiceTypeProperties = &sftpServerLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ssls.AdditionalProperties == nil { + ssls.AdditionalProperties = make(map[string]interface{}) + } + ssls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ssls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ssls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ssls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ssls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ssls.Type = typeVar + } + } + } + + return nil +} + +// SftpServerLinkedServiceTypeProperties properties specific to this linked service type. +type SftpServerLinkedServiceTypeProperties struct { + // Host - The SFTP server host name. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // 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. + Port interface{} `json:"port,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'SftpAuthenticationTypeBasic', 'SftpAuthenticationTypeSSHPublicKey' + AuthenticationType SftpAuthenticationType `json:"authenticationType,omitempty"` + // UserName - The username used to log on to the SFTP server. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password to logon the SFTP server for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // 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). + PrivateKeyPath interface{} `json:"privateKeyPath,omitempty"` + // 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. + PrivateKeyContent BasicSecretBase `json:"privateKeyContent,omitempty"` + // PassPhrase - The password to decrypt the SSH private key if the SSH private key is encrypted. + PassPhrase BasicSecretBase `json:"passPhrase,omitempty"` + // SkipHostKeyValidation - If true, skip the SSH host key validation. Default value is false. Type: boolean (or Expression with resultType boolean). + SkipHostKeyValidation interface{} `json:"skipHostKeyValidation,omitempty"` + // 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). + HostKeyFingerprint interface{} `json:"hostKeyFingerprint,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedServiceTypeProperties struct. +func (sslstp *SftpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + sslstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + sslstp.Port = port + } + case "authenticationType": + if v != nil { + var authenticationType SftpAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + sslstp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + sslstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + sslstp.EncryptedCredential = encryptedCredential + } + case "privateKeyPath": + if v != nil { + var privateKeyPath interface{} + err = json.Unmarshal(*v, &privateKeyPath) + if err != nil { + return err + } + sslstp.PrivateKeyPath = privateKeyPath + } + case "privateKeyContent": + if v != nil { + privateKeyContent, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sslstp.PrivateKeyContent = privateKeyContent + } + case "passPhrase": + if v != nil { + passPhrase, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sslstp.PassPhrase = passPhrase + } + case "skipHostKeyValidation": + if v != nil { + var skipHostKeyValidation interface{} + err = json.Unmarshal(*v, &skipHostKeyValidation) + if err != nil { + return err + } + sslstp.SkipHostKeyValidation = skipHostKeyValidation + } + case "hostKeyFingerprint": + if v != nil { + var hostKeyFingerprint interface{} + err = json.Unmarshal(*v, &hostKeyFingerprint) + if err != nil { + return err + } + sslstp.HostKeyFingerprint = hostKeyFingerprint + } + } + } + + return nil +} + +// SftpWriteSettings sftp write settings. +type SftpWriteSettings struct { + // 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). + OperationTimeout interface{} `json:"operationTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SftpWriteSettings. +func (sws SftpWriteSettings) MarshalJSON() ([]byte, error) { + sws.Type = TypeSftpWriteSettings + objectMap := make(map[string]interface{}) + if sws.OperationTimeout != nil { + objectMap["operationTimeout"] = sws.OperationTimeout + } + if sws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sws.MaxConcurrentConnections + } + if sws.CopyBehavior != nil { + objectMap["copyBehavior"] = sws.CopyBehavior + } + if sws.Type != "" { + objectMap["type"] = sws.Type + } + for k, v := range sws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings. +func (sws SftpWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings. +func (sws SftpWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings. +func (sws SftpWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings. +func (sws SftpWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsSftpWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings. +func (sws SftpWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) { + return &sws, true +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings. +func (sws SftpWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings. +func (sws SftpWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &sws, true +} + +// UnmarshalJSON is the custom unmarshaler for SftpWriteSettings struct. +func (sws *SftpWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "operationTimeout": + if v != nil { + var operationTimeout interface{} + err = json.Unmarshal(*v, &operationTimeout) + if err != nil { + return err + } + sws.OperationTimeout = operationTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sws.AdditionalProperties == nil { + sws.AdditionalProperties = make(map[string]interface{}) + } + sws.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sws.MaxConcurrentConnections = maxConcurrentConnections + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + sws.CopyBehavior = copyBehavior + } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sws.Type = typeVar + } + } + } + + return nil +} + +// ShopifyLinkedService shopify Service linked service. +type ShopifyLinkedService struct { + // ShopifyLinkedServiceTypeProperties - Shopify Service linked service properties. + *ShopifyLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ShopifyLinkedService. +func (sls ShopifyLinkedService) MarshalJSON() ([]byte, error) { + sls.Type = TypeShopify + objectMap := make(map[string]interface{}) + if sls.ShopifyLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sls.ShopifyLinkedServiceTypeProperties + } + if sls.ConnectVia != nil { + objectMap["connectVia"] = sls.ConnectVia + } + if sls.Description != nil { + objectMap["description"] = sls.Description + } + if sls.Parameters != nil { + objectMap["parameters"] = sls.Parameters + } + if sls.Annotations != nil { + objectMap["annotations"] = sls.Annotations + } + if sls.Type != "" { + objectMap["type"] = sls.Type + } + for k, v := range sls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return &sls, true +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sls, true +} + +// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedService struct. +func (sls *ShopifyLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var shopifyLinkedServiceTypeProperties ShopifyLinkedServiceTypeProperties + err = json.Unmarshal(*v, &shopifyLinkedServiceTypeProperties) + if err != nil { + return err + } + sls.ShopifyLinkedServiceTypeProperties = &shopifyLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sls.AdditionalProperties == nil { + sls.AdditionalProperties = make(map[string]interface{}) + } + sls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sls.Type = typeVar + } + } + } + + return nil +} + +// ShopifyLinkedServiceTypeProperties shopify Service linked service properties. +type ShopifyLinkedServiceTypeProperties struct { + // Host - The endpoint of the Shopify server. (i.e. mystore.myshopify.com) + Host interface{} `json:"host,omitempty"` + // AccessToken - The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode. + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedServiceTypeProperties struct. +func (slstp *ShopifyLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + slstp.Host = host + } + case "accessToken": + if v != nil { + accessToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + slstp.AccessToken = accessToken + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + slstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + slstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + slstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + slstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ShopifyObjectDataset shopify Service dataset. +type ShopifyObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) MarshalJSON() ([]byte, error) { + sod.Type = TypeShopifyObject + objectMap := make(map[string]interface{}) + if sod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = sod.GenericDatasetTypeProperties + } + if sod.Description != nil { + objectMap["description"] = sod.Description + } + if sod.Structure != nil { + objectMap["structure"] = sod.Structure + } + if sod.Schema != nil { + objectMap["schema"] = sod.Schema + } + if sod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sod.LinkedServiceName + } + if sod.Parameters != nil { + objectMap["parameters"] = sod.Parameters + } + if sod.Annotations != nil { + objectMap["annotations"] = sod.Annotations + } + if sod.Folder != nil { + objectMap["folder"] = sod.Folder + } + if sod.Type != "" { + objectMap["type"] = sod.Type + } + for k, v := range sod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return &sod, true +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &sod, true +} + +// UnmarshalJSON is the custom unmarshaler for ShopifyObjectDataset struct. +func (sod *ShopifyObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + sod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sod.AdditionalProperties == nil { + sod.AdditionalProperties = make(map[string]interface{}) + } + sod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sod.Type = typeVar + } + } + } + + return nil +} + +// ShopifySource a copy activity Shopify Service source. +type ShopifySource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ShopifySource. +func (ss ShopifySource) MarshalJSON() ([]byte, error) { + ss.Type = TypeShopifySource + objectMap := make(map[string]interface{}) + if ss.Query != nil { + objectMap["query"] = ss.Query + } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } + if ss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ss.SourceRetryCount + } + if ss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ss.SourceRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsShopifySource() (*ShopifySource, bool) { + return &ss, true +} + +// AsServiceNowSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true +} + +// AsBinarySource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsBasicCopySource() (BasicCopySource, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for ShopifySource struct. +func (ss *ShopifySource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SparkBatchJob ... +type SparkBatchJob struct { + autorest.Response `json:"-"` + LivyInfo *SparkBatchJobState `json:"livyInfo,omitempty"` + // Name - The batch name. + Name *string `json:"name,omitempty"` + // WorkspaceName - The workspace name. + WorkspaceName *string `json:"workspaceName,omitempty"` + // SparkPoolName - The Spark pool name. + SparkPoolName *string `json:"sparkPoolName,omitempty"` + // SubmitterName - The submitter name. + SubmitterName *string `json:"submitterName,omitempty"` + // SubmitterID - The submitter identifier. + SubmitterID *string `json:"submitterId,omitempty"` + // ArtifactID - The artifact identifier. + ArtifactID *string `json:"artifactId,omitempty"` + // JobType - The job type. Possible values include: 'SparkBatch', 'SparkSession' + JobType SparkJobType `json:"jobType,omitempty"` + // Result - The Spark batch job result. Possible values include: 'SparkBatchJobResultTypeUncertain', 'SparkBatchJobResultTypeSucceeded', 'SparkBatchJobResultTypeFailed', 'SparkBatchJobResultTypeCancelled' + Result SparkBatchJobResultType `json:"result,omitempty"` + // Scheduler - The scheduler information. + Scheduler *SparkScheduler `json:"schedulerInfo,omitempty"` + // Plugin - The plugin information. + Plugin *SparkServicePlugin `json:"pluginInfo,omitempty"` + // Errors - The error information. + Errors *[]SparkServiceError `json:"errorInfo,omitempty"` + // Tags - The tags. + Tags map[string]*string `json:"tags"` + // ID - The session Id. + ID *int32 `json:"id,omitempty"` + // AppID - The application id of this session + AppID *string `json:"appId,omitempty"` + // AppInfo - The detailed application info. + AppInfo map[string]*string `json:"appInfo"` + // State - The batch state + State *string `json:"state,omitempty"` + // LogLines - The log lines. + LogLines *[]string `json:"log,omitempty"` +} + +// MarshalJSON is the custom marshaler for SparkBatchJob. +func (sbj SparkBatchJob) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sbj.LivyInfo != nil { + objectMap["livyInfo"] = sbj.LivyInfo + } + if sbj.Name != nil { + objectMap["name"] = sbj.Name + } + if sbj.WorkspaceName != nil { + objectMap["workspaceName"] = sbj.WorkspaceName + } + if sbj.SparkPoolName != nil { + objectMap["sparkPoolName"] = sbj.SparkPoolName + } + if sbj.SubmitterName != nil { + objectMap["submitterName"] = sbj.SubmitterName + } + if sbj.SubmitterID != nil { + objectMap["submitterId"] = sbj.SubmitterID + } + if sbj.ArtifactID != nil { + objectMap["artifactId"] = sbj.ArtifactID + } + if sbj.JobType != "" { + objectMap["jobType"] = sbj.JobType + } + if sbj.Result != "" { + objectMap["result"] = sbj.Result + } + if sbj.Scheduler != nil { + objectMap["schedulerInfo"] = sbj.Scheduler + } + if sbj.Plugin != nil { + objectMap["pluginInfo"] = sbj.Plugin + } + if sbj.Errors != nil { + objectMap["errorInfo"] = sbj.Errors + } + if sbj.Tags != nil { + objectMap["tags"] = sbj.Tags + } + if sbj.ID != nil { + objectMap["id"] = sbj.ID + } + if sbj.AppID != nil { + objectMap["appId"] = sbj.AppID + } + if sbj.AppInfo != nil { + objectMap["appInfo"] = sbj.AppInfo + } + if sbj.State != nil { + objectMap["state"] = sbj.State + } + if sbj.LogLines != nil { + objectMap["log"] = sbj.LogLines + } + return json.Marshal(objectMap) +} + +// SparkBatchJobState ... +type SparkBatchJobState struct { + // NotStartedAt - the time that at which "not_started" livy state was first seen. + NotStartedAt *date.Time `json:"notStartedAt,omitempty"` + // StartingAt - the time that at which "starting" livy state was first seen. + StartingAt *date.Time `json:"startingAt,omitempty"` + // RunningAt - the time that at which "running" livy state was first seen. + RunningAt *date.Time `json:"runningAt,omitempty"` + // DeadAt - time that at which "dead" livy state was first seen. + DeadAt *date.Time `json:"deadAt,omitempty"` + // SuccessAt - the time that at which "success" livy state was first seen. + SuccessAt *date.Time `json:"successAt,omitempty"` + // TerminatedAt - the time that at which "killed" livy state was first seen. + TerminatedAt *date.Time `json:"killedAt,omitempty"` + // RecoveringAt - the time that at which "recovering" livy state was first seen. + RecoveringAt *date.Time `json:"recoveringAt,omitempty"` + // CurrentState - the Spark job state. + CurrentState *string `json:"currentState,omitempty"` + JobCreationRequest *SparkRequest `json:"jobCreationRequest,omitempty"` +} + +// SparkDatasetTypeProperties spark Properties +type SparkDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Spark. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Spark. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// SparkJobDefinition spark job definition. +type SparkJobDefinition struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - The description of the Spark job definition. + Description *string `json:"description,omitempty"` + // TargetBigDataPool - Big data pool reference. + TargetBigDataPool *BigDataPoolReference `json:"targetBigDataPool,omitempty"` + // RequiredSparkVersion - The required Spark version of the application. + RequiredSparkVersion *string `json:"requiredSparkVersion,omitempty"` + // Language - The language of the Spark application. + Language *string `json:"language,omitempty"` + // JobProperties - The properties of the Spark job. + JobProperties *SparkJobProperties `json:"jobProperties,omitempty"` +} + +// MarshalJSON is the custom marshaler for SparkJobDefinition. +func (sjd SparkJobDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sjd.Description != nil { + objectMap["description"] = sjd.Description + } + if sjd.TargetBigDataPool != nil { + objectMap["targetBigDataPool"] = sjd.TargetBigDataPool + } + if sjd.RequiredSparkVersion != nil { + objectMap["requiredSparkVersion"] = sjd.RequiredSparkVersion + } + if sjd.Language != nil { + objectMap["language"] = sjd.Language + } + if sjd.JobProperties != nil { + objectMap["jobProperties"] = sjd.JobProperties + } + for k, v := range sjd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SparkJobDefinition struct. +func (sjd *SparkJobDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sjd.AdditionalProperties == nil { + sjd.AdditionalProperties = make(map[string]interface{}) + } + sjd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sjd.Description = &description + } + case "targetBigDataPool": + if v != nil { + var targetBigDataPool BigDataPoolReference + err = json.Unmarshal(*v, &targetBigDataPool) + if err != nil { + return err + } + sjd.TargetBigDataPool = &targetBigDataPool + } + case "requiredSparkVersion": + if v != nil { + var requiredSparkVersion string + err = json.Unmarshal(*v, &requiredSparkVersion) + if err != nil { + return err + } + sjd.RequiredSparkVersion = &requiredSparkVersion + } + case "language": + if v != nil { + var language string + err = json.Unmarshal(*v, &language) + if err != nil { + return err + } + sjd.Language = &language + } + case "jobProperties": + if v != nil { + var jobProperties SparkJobProperties + err = json.Unmarshal(*v, &jobProperties) + if err != nil { + return err + } + sjd.JobProperties = &jobProperties + } + } + } + + return nil +} + +// SparkJobDefinitionDebugSparkJobDefinitionFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type SparkJobDefinitionDebugSparkJobDefinitionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SparkJobDefinitionDebugSparkJobDefinitionFuture) Result(client SparkJobDefinitionClient) (sbj SparkBatchJob, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionDebugSparkJobDefinitionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.SparkJobDefinitionDebugSparkJobDefinitionFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sbj.Response.Response, err = future.GetResult(sender); err == nil && sbj.Response.Response.StatusCode != http.StatusNoContent { + sbj, err = client.DebugSparkJobDefinitionResponder(sbj.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionDebugSparkJobDefinitionFuture", "Result", sbj.Response.Response, "Failure responding to request") + } + } + return +} + +// SparkJobDefinitionExecuteSparkJobDefinitionFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type SparkJobDefinitionExecuteSparkJobDefinitionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SparkJobDefinitionExecuteSparkJobDefinitionFuture) Result(client SparkJobDefinitionClient) (sbj SparkBatchJob, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionExecuteSparkJobDefinitionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.SparkJobDefinitionExecuteSparkJobDefinitionFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sbj.Response.Response, err = future.GetResult(sender); err == nil && sbj.Response.Response.StatusCode != http.StatusNoContent { + sbj, err = client.ExecuteSparkJobDefinitionResponder(sbj.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionExecuteSparkJobDefinitionFuture", "Result", sbj.Response.Response, "Failure responding to request") + } + } + return +} + +// SparkJobDefinitionResource spark job definition resource type. +type SparkJobDefinitionResource struct { + autorest.Response `json:"-"` + // Properties - Properties of spark job definition. + Properties *SparkJobDefinition `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// SparkJobDefinitionsListResponse a list of spark job definitions resources. +type SparkJobDefinitionsListResponse struct { + autorest.Response `json:"-"` + // Value - List of spark job definitions. + Value *[]SparkJobDefinitionResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// SparkJobDefinitionsListResponseIterator provides access to a complete listing of +// SparkJobDefinitionResource values. +type SparkJobDefinitionsListResponseIterator struct { + i int + page SparkJobDefinitionsListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SparkJobDefinitionsListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionsListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SparkJobDefinitionsListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SparkJobDefinitionsListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SparkJobDefinitionsListResponseIterator) Response() SparkJobDefinitionsListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SparkJobDefinitionsListResponseIterator) Value() SparkJobDefinitionResource { + if !iter.page.NotDone() { + return SparkJobDefinitionResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SparkJobDefinitionsListResponseIterator type. +func NewSparkJobDefinitionsListResponseIterator(page SparkJobDefinitionsListResponsePage) SparkJobDefinitionsListResponseIterator { + return SparkJobDefinitionsListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sjdlr SparkJobDefinitionsListResponse) IsEmpty() bool { + return sjdlr.Value == nil || len(*sjdlr.Value) == 0 +} + +// sparkJobDefinitionsListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sjdlr SparkJobDefinitionsListResponse) sparkJobDefinitionsListResponsePreparer(ctx context.Context) (*http.Request, error) { + if sjdlr.NextLink == nil || len(to.String(sjdlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sjdlr.NextLink))) +} + +// SparkJobDefinitionsListResponsePage contains a page of SparkJobDefinitionResource values. +type SparkJobDefinitionsListResponsePage struct { + fn func(context.Context, SparkJobDefinitionsListResponse) (SparkJobDefinitionsListResponse, error) + sjdlr SparkJobDefinitionsListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SparkJobDefinitionsListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionsListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sjdlr) + if err != nil { + return err + } + page.sjdlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SparkJobDefinitionsListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SparkJobDefinitionsListResponsePage) NotDone() bool { + return !page.sjdlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SparkJobDefinitionsListResponsePage) Response() SparkJobDefinitionsListResponse { + return page.sjdlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SparkJobDefinitionsListResponsePage) Values() []SparkJobDefinitionResource { + if page.sjdlr.IsEmpty() { + return nil + } + return *page.sjdlr.Value +} + +// Creates a new instance of the SparkJobDefinitionsListResponsePage type. +func NewSparkJobDefinitionsListResponsePage(getNextPage func(context.Context, SparkJobDefinitionsListResponse) (SparkJobDefinitionsListResponse, error)) SparkJobDefinitionsListResponsePage { + return SparkJobDefinitionsListResponsePage{fn: getNextPage} +} + +// SparkJobProperties the properties of the Spark job. +type SparkJobProperties struct { + // Name - The name of the job. + Name *string `json:"name,omitempty"` + // File - File containing the application to execute. + File *string `json:"file,omitempty"` + // ClassName - Main class for Java/Scala application. + ClassName *string `json:"className,omitempty"` + // Conf - Spark configuration properties. + Conf interface{} `json:"conf,omitempty"` + // Args - Command line arguments for the application. + Args *[]string `json:"args,omitempty"` + // Jars - Jars to be used in this job. + Jars *[]string `json:"jars,omitempty"` + // Files - files to be used in this job. + Files *[]string `json:"files,omitempty"` + // Archives - Archives to be used in this job. + Archives *[]string `json:"archives,omitempty"` + // DriverMemory - Amount of memory to use for the driver process. + DriverMemory *string `json:"driverMemory,omitempty"` + // DriverCores - Number of cores to use for the driver. + DriverCores *int32 `json:"driverCores,omitempty"` + // ExecutorMemory - Amount of memory to use per executor process. + ExecutorMemory *string `json:"executorMemory,omitempty"` + // ExecutorCores - Number of cores to use for each executor. + ExecutorCores *int32 `json:"executorCores,omitempty"` + // NumExecutors - Number of executors to launch for this job. + NumExecutors *int32 `json:"numExecutors,omitempty"` +} + +// SparkLinkedService spark Server linked service. +type SparkLinkedService struct { + // SparkLinkedServiceTypeProperties - Spark Server linked service properties. + *SparkLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SparkLinkedService. +func (sls SparkLinkedService) MarshalJSON() ([]byte, error) { + sls.Type = TypeSpark + objectMap := make(map[string]interface{}) + if sls.SparkLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sls.SparkLinkedServiceTypeProperties + } + if sls.ConnectVia != nil { + objectMap["connectVia"] = sls.ConnectVia + } + if sls.Description != nil { + objectMap["description"] = sls.Description + } + if sls.Parameters != nil { + objectMap["parameters"] = sls.Parameters + } + if sls.Annotations != nil { + objectMap["annotations"] = sls.Annotations + } + if sls.Type != "" { + objectMap["type"] = sls.Type + } + for k, v := range sls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return &sls, true +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sls, true +} + +// UnmarshalJSON is the custom unmarshaler for SparkLinkedService struct. +func (sls *SparkLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sparkLinkedServiceTypeProperties SparkLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sparkLinkedServiceTypeProperties) + if err != nil { + return err + } + sls.SparkLinkedServiceTypeProperties = &sparkLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sls.AdditionalProperties == nil { + sls.AdditionalProperties = make(map[string]interface{}) + } + sls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sls.Type = typeVar + } + } + } + + return nil +} + +// SparkLinkedServiceTypeProperties spark Server linked service properties. +type SparkLinkedServiceTypeProperties struct { + // Host - IP address or host name of the Spark server + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the Spark server uses to listen for client connections. + Port interface{} `json:"port,omitempty"` + // ServerType - The type of Spark server. Possible values include: 'SharkServer', 'SharkServer2', 'SparkThriftServer' + ServerType SparkServerType `json:"serverType,omitempty"` + // ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'SparkThriftTransportProtocolBinary', 'SparkThriftTransportProtocolSASL', 'SparkThriftTransportProtocolHTTP' + ThriftTransportProtocol SparkThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"` + // AuthenticationType - The authentication method used to access the Spark server. Possible values include: 'SparkAuthenticationTypeAnonymous', 'SparkAuthenticationTypeUsername', 'SparkAuthenticationTypeUsernameAndPassword', 'SparkAuthenticationTypeWindowsAzureHDInsightService' + AuthenticationType SparkAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name that you use to access Spark Server. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the Username field + Password BasicSecretBase `json:"password,omitempty"` + // HTTPPath - The partial URL corresponding to the Spark server. + HTTPPath interface{} `json:"httpPath,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // 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. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // 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. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SparkLinkedServiceTypeProperties struct. +func (slstp *SparkLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + slstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + slstp.Port = port + } + case "serverType": + if v != nil { + var serverType SparkServerType + err = json.Unmarshal(*v, &serverType) + if err != nil { + return err + } + slstp.ServerType = serverType + } + case "thriftTransportProtocol": + if v != nil { + var thriftTransportProtocol SparkThriftTransportProtocol + err = json.Unmarshal(*v, &thriftTransportProtocol) + if err != nil { + return err + } + slstp.ThriftTransportProtocol = thriftTransportProtocol + } + case "authenticationType": + if v != nil { + var authenticationType SparkAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + slstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + slstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + slstp.Password = password + } + case "httpPath": + if v != nil { + var HTTPPath interface{} + err = json.Unmarshal(*v, &HTTPPath) + if err != nil { + return err + } + slstp.HTTPPath = HTTPPath + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + slstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + slstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + slstp.UseSystemTrustStore = useSystemTrustStore + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + slstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + slstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + slstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SparkObjectDataset spark Server dataset. +type SparkObjectDataset struct { + // SparkDatasetTypeProperties - Properties specific to this dataset type. + *SparkDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SparkObjectDataset. +func (sod SparkObjectDataset) MarshalJSON() ([]byte, error) { + sod.Type = TypeSparkObject + objectMap := make(map[string]interface{}) + if sod.SparkDatasetTypeProperties != nil { + objectMap["typeProperties"] = sod.SparkDatasetTypeProperties + } + if sod.Description != nil { + objectMap["description"] = sod.Description + } + if sod.Structure != nil { + objectMap["structure"] = sod.Structure + } + if sod.Schema != nil { + objectMap["schema"] = sod.Schema + } + if sod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sod.LinkedServiceName + } + if sod.Parameters != nil { + objectMap["parameters"] = sod.Parameters + } + if sod.Annotations != nil { + objectMap["annotations"] = sod.Annotations + } + if sod.Folder != nil { + objectMap["folder"] = sod.Folder + } + if sod.Type != "" { + objectMap["type"] = sod.Type + } + for k, v := range sod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return &sod, true +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &sod, true +} + +// UnmarshalJSON is the custom unmarshaler for SparkObjectDataset struct. +func (sod *SparkObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sparkDatasetTypeProperties SparkDatasetTypeProperties + err = json.Unmarshal(*v, &sparkDatasetTypeProperties) + if err != nil { + return err + } + sod.SparkDatasetTypeProperties = &sparkDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sod.AdditionalProperties == nil { + sod.AdditionalProperties = make(map[string]interface{}) + } + sod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sod.Type = typeVar + } + } + } + + return nil +} + +// SparkRequest ... +type SparkRequest struct { + Name *string `json:"name,omitempty"` + File *string `json:"file,omitempty"` + ClassName *string `json:"className,omitempty"` + Arguments *[]string `json:"args,omitempty"` + Jars *[]string `json:"jars,omitempty"` + PythonFiles *[]string `json:"pyFiles,omitempty"` + Files *[]string `json:"files,omitempty"` + Archives *[]string `json:"archives,omitempty"` + Configuration map[string]*string `json:"conf"` + DriverMemory *string `json:"driverMemory,omitempty"` + DriverCores *int32 `json:"driverCores,omitempty"` + ExecutorMemory *string `json:"executorMemory,omitempty"` + ExecutorCores *int32 `json:"executorCores,omitempty"` + ExecutorCount *int32 `json:"numExecutors,omitempty"` +} + +// MarshalJSON is the custom marshaler for SparkRequest. +func (sr SparkRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sr.Name != nil { + objectMap["name"] = sr.Name + } + if sr.File != nil { + objectMap["file"] = sr.File + } + if sr.ClassName != nil { + objectMap["className"] = sr.ClassName + } + if sr.Arguments != nil { + objectMap["args"] = sr.Arguments + } + if sr.Jars != nil { + objectMap["jars"] = sr.Jars + } + if sr.PythonFiles != nil { + objectMap["pyFiles"] = sr.PythonFiles + } + if sr.Files != nil { + objectMap["files"] = sr.Files + } + if sr.Archives != nil { + objectMap["archives"] = sr.Archives + } + if sr.Configuration != nil { + objectMap["conf"] = sr.Configuration + } + if sr.DriverMemory != nil { + objectMap["driverMemory"] = sr.DriverMemory + } + if sr.DriverCores != nil { + objectMap["driverCores"] = sr.DriverCores + } + if sr.ExecutorMemory != nil { + objectMap["executorMemory"] = sr.ExecutorMemory + } + if sr.ExecutorCores != nil { + objectMap["executorCores"] = sr.ExecutorCores + } + if sr.ExecutorCount != nil { + objectMap["numExecutors"] = sr.ExecutorCount + } + return json.Marshal(objectMap) +} + +// SparkScheduler ... +type SparkScheduler struct { + SubmittedAt *date.Time `json:"submittedAt,omitempty"` + ScheduledAt *date.Time `json:"scheduledAt,omitempty"` + EndedAt *date.Time `json:"endedAt,omitempty"` + CancellationRequestedAt *date.Time `json:"cancellationRequestedAt,omitempty"` + // CurrentState - Possible values include: 'SchedulerCurrentStateQueued', 'SchedulerCurrentStateScheduled', 'SchedulerCurrentStateEnded' + CurrentState SchedulerCurrentState `json:"currentState,omitempty"` +} + +// SparkServiceError ... +type SparkServiceError struct { + Message *string `json:"message,omitempty"` + ErrorCode *string `json:"errorCode,omitempty"` + // Source - Possible values include: 'SparkErrorSourceSystem', 'SparkErrorSourceUser', 'SparkErrorSourceUnknown', 'SparkErrorSourceDependency' + Source SparkErrorSource `json:"source,omitempty"` +} + +// SparkServicePlugin ... +type SparkServicePlugin struct { + PreparationStartedAt *date.Time `json:"preparationStartedAt,omitempty"` + ResourceAcquisitionStartedAt *date.Time `json:"resourceAcquisitionStartedAt,omitempty"` + SubmissionStartedAt *date.Time `json:"submissionStartedAt,omitempty"` + MonitoringStartedAt *date.Time `json:"monitoringStartedAt,omitempty"` + CleanupStartedAt *date.Time `json:"cleanupStartedAt,omitempty"` + // CurrentState - Possible values include: 'Preparation', 'ResourceAcquisition', 'Queued', 'Submission', 'Monitoring', 'Cleanup', 'Ended' + CurrentState PluginCurrentState `json:"currentState,omitempty"` +} + +// SparkSource a copy activity Spark Server source. +type SparkSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SparkSource. +func (ss SparkSource) MarshalJSON() ([]byte, error) { + ss.Type = TypeSparkSource + objectMap := make(map[string]interface{}) + if ss.Query != nil { + objectMap["query"] = ss.Query + } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } + if ss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ss.SourceRetryCount + } + if ss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ss.SourceRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSparkSource() (*SparkSource, bool) { + return &ss, true +} + +// AsShopifySource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true +} + +// AsBinarySource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for SparkSource struct. +func (ss *SparkSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SQLConnection the connection used to execute the SQL script. +type SQLConnection struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The type of the connection. Possible values include: 'SQLOnDemand', 'SQLPool' + Type SQLConnectionType `json:"type,omitempty"` + // Name - The identifier of the connection. + Name *string `json:"name,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLConnection. +func (sc SQLConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sc.Type != "" { + objectMap["type"] = sc.Type + } + if sc.Name != nil { + objectMap["name"] = sc.Name + } + for k, v := range sc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SQLConnection struct. +func (sc *SQLConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sc.AdditionalProperties == nil { + sc.AdditionalProperties = make(map[string]interface{}) + } + sc.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar SQLConnectionType + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sc.Type = typeVar + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sc.Name = &name + } + } + } + + return nil +} + +// SQLDWSink a copy activity SQL Data Warehouse sink. +type SQLDWSink struct { + // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AllowPolyBase - Indicates to use PolyBase to copy data into SQL Data Warehouse when applicable. Type: boolean (or Expression with resultType boolean). + AllowPolyBase interface{} `json:"allowPolyBase,omitempty"` + // PolyBaseSettings - Specifies PolyBase-related settings when allowPolyBase is true. + PolyBaseSettings *PolybaseSettings `json:"polyBaseSettings,omitempty"` + // AllowCopyCommand - Indicates to use Copy Command to copy data into SQL Data Warehouse. Type: boolean (or Expression with resultType boolean). + AllowCopyCommand interface{} `json:"allowCopyCommand,omitempty"` + // CopyCommandSettings - Specifies Copy Command related settings when allowCopyCommand is true. + CopyCommandSettings *DWCopyCommandSettings `json:"copyCommandSettings,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLDWSink. +func (sds SQLDWSink) MarshalJSON() ([]byte, error) { + sds.Type = TypeSQLDWSink + objectMap := make(map[string]interface{}) + if sds.PreCopyScript != nil { + objectMap["preCopyScript"] = sds.PreCopyScript + } + if sds.AllowPolyBase != nil { + objectMap["allowPolyBase"] = sds.AllowPolyBase + } + if sds.PolyBaseSettings != nil { + objectMap["polyBaseSettings"] = sds.PolyBaseSettings + } + if sds.AllowCopyCommand != nil { + objectMap["allowCopyCommand"] = sds.AllowCopyCommand + } + if sds.CopyCommandSettings != nil { + objectMap["copyCommandSettings"] = sds.CopyCommandSettings + } + if sds.TableOption != nil { + objectMap["tableOption"] = sds.TableOption + } + if sds.WriteBatchSize != nil { + objectMap["writeBatchSize"] = sds.WriteBatchSize + } + if sds.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = sds.WriteBatchTimeout + } + if sds.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = sds.SinkRetryCount + } + if sds.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = sds.SinkRetryWait + } + if sds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sds.MaxConcurrentConnections + } + if sds.Type != "" { + objectMap["type"] = sds.Type + } + for k, v := range sds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsSQLDWSink() (*SQLDWSink, bool) { + return &sds, true +} + +// AsSQLMISink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsBasicCopySink() (BasicCopySink, bool) { + return &sds, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLDWSink struct. +func (sds *SQLDWSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + sds.PreCopyScript = preCopyScript + } + case "allowPolyBase": + if v != nil { + var allowPolyBase interface{} + err = json.Unmarshal(*v, &allowPolyBase) + if err != nil { + return err + } + sds.AllowPolyBase = allowPolyBase + } + case "polyBaseSettings": + if v != nil { + var polyBaseSettings PolybaseSettings + err = json.Unmarshal(*v, &polyBaseSettings) + if err != nil { + return err + } + sds.PolyBaseSettings = &polyBaseSettings + } + case "allowCopyCommand": + if v != nil { + var allowCopyCommand interface{} + err = json.Unmarshal(*v, &allowCopyCommand) + if err != nil { + return err + } + sds.AllowCopyCommand = allowCopyCommand + } + case "copyCommandSettings": + if v != nil { + var copyCommandSettings DWCopyCommandSettings + err = json.Unmarshal(*v, ©CommandSettings) + if err != nil { + return err + } + sds.CopyCommandSettings = ©CommandSettings + } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + sds.TableOption = tableOption + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sds.AdditionalProperties == nil { + sds.AdditionalProperties = make(map[string]interface{}) + } + sds.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + sds.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + sds.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + sds.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + sds.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sds.Type = typeVar + } + } + } + + return nil +} + +// SQLDWSource a copy activity SQL Data Warehouse source. +type SQLDWSource struct { + // SQLReaderQuery - SQL Data Warehouse reader query. Type: string (or Expression with resultType string). + SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"` + // 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). + SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"` + // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter. + StoredProcedureParameters interface{} `json:"storedProcedureParameters,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLDWSource. +func (sds SQLDWSource) MarshalJSON() ([]byte, error) { + sds.Type = TypeSQLDWSource + objectMap := make(map[string]interface{}) + if sds.SQLReaderQuery != nil { + objectMap["sqlReaderQuery"] = sds.SQLReaderQuery + } + if sds.SQLReaderStoredProcedureName != nil { + objectMap["sqlReaderStoredProcedureName"] = sds.SQLReaderStoredProcedureName + } + if sds.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = sds.StoredProcedureParameters + } + if sds.QueryTimeout != nil { + objectMap["queryTimeout"] = sds.QueryTimeout + } + if sds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sds.SourceRetryCount + } + if sds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sds.SourceRetryWait + } + if sds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sds.MaxConcurrentConnections + } + if sds.Type != "" { + objectMap["type"] = sds.Type + } + for k, v := range sds.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSQLDWSource() (*SQLDWSource, bool) { + return &sds, true +} + +// AsSQLMISource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sds, true +} + +// AsBinarySource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsBasicCopySource() (BasicCopySource, bool) { + return &sds, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLDWSource struct. +func (sds *SQLDWSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlReaderQuery": + if v != nil { + var SQLReaderQuery interface{} + err = json.Unmarshal(*v, &SQLReaderQuery) + if err != nil { + return err + } + sds.SQLReaderQuery = SQLReaderQuery + } + case "sqlReaderStoredProcedureName": + if v != nil { + var SQLReaderStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLReaderStoredProcedureName) + if err != nil { + return err + } + sds.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters interface{} + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + sds.StoredProcedureParameters = storedProcedureParameters + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sds.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sds.AdditionalProperties == nil { + sds.AdditionalProperties = make(map[string]interface{}) + } + sds.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sds.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sds.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sds.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sds.Type = typeVar + } + } + } + + return nil +} + +// SQLMISink a copy activity Azure SQL Managed Instance sink. +type SQLMISink struct { + // SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string). + SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"` + // SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string). + SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"` + // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // StoredProcedureParameters - SQL stored procedure parameters. + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). + StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLMISink. +func (sms SQLMISink) MarshalJSON() ([]byte, error) { + sms.Type = TypeSQLMISink + objectMap := make(map[string]interface{}) + if sms.SQLWriterStoredProcedureName != nil { + objectMap["sqlWriterStoredProcedureName"] = sms.SQLWriterStoredProcedureName + } + if sms.SQLWriterTableType != nil { + objectMap["sqlWriterTableType"] = sms.SQLWriterTableType + } + if sms.PreCopyScript != nil { + objectMap["preCopyScript"] = sms.PreCopyScript + } + if sms.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = sms.StoredProcedureParameters + } + if sms.StoredProcedureTableTypeParameterName != nil { + objectMap["storedProcedureTableTypeParameterName"] = sms.StoredProcedureTableTypeParameterName + } + if sms.TableOption != nil { + objectMap["tableOption"] = sms.TableOption + } + if sms.WriteBatchSize != nil { + objectMap["writeBatchSize"] = sms.WriteBatchSize + } + if sms.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = sms.WriteBatchTimeout + } + if sms.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = sms.SinkRetryCount + } + if sms.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = sms.SinkRetryWait + } + if sms.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sms.MaxConcurrentConnections + } + if sms.Type != "" { + objectMap["type"] = sms.Type + } + for k, v := range sms.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsSQLMISink() (*SQLMISink, bool) { + return &sms, true +} + +// AsAzureSQLSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsBasicCopySink() (BasicCopySink, bool) { + return &sms, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLMISink struct. +func (sms *SQLMISink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlWriterStoredProcedureName": + if v != nil { + var SQLWriterStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLWriterStoredProcedureName) + if err != nil { + return err + } + sms.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName + } + case "sqlWriterTableType": + if v != nil { + var SQLWriterTableType interface{} + err = json.Unmarshal(*v, &SQLWriterTableType) + if err != nil { + return err + } + sms.SQLWriterTableType = SQLWriterTableType + } + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + sms.PreCopyScript = preCopyScript + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + sms.StoredProcedureParameters = storedProcedureParameters + } + case "storedProcedureTableTypeParameterName": + if v != nil { + var storedProcedureTableTypeParameterName interface{} + err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName) + if err != nil { + return err + } + sms.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName + } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + sms.TableOption = tableOption + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sms.AdditionalProperties == nil { + sms.AdditionalProperties = make(map[string]interface{}) + } + sms.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + sms.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + sms.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + sms.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + sms.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sms.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sms.Type = typeVar + } + } + } + + return nil +} + +// SQLMISource a copy activity Azure SQL Managed Instance source. +type SQLMISource struct { + // SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string). + SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"` + // 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). + SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"` + // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // ProduceAdditionalTypes - Which additional types to produce. + ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLMISource. +func (sms SQLMISource) MarshalJSON() ([]byte, error) { + sms.Type = TypeSQLMISource + objectMap := make(map[string]interface{}) + if sms.SQLReaderQuery != nil { + objectMap["sqlReaderQuery"] = sms.SQLReaderQuery + } + if sms.SQLReaderStoredProcedureName != nil { + objectMap["sqlReaderStoredProcedureName"] = sms.SQLReaderStoredProcedureName + } + if sms.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = sms.StoredProcedureParameters + } + if sms.ProduceAdditionalTypes != nil { + objectMap["produceAdditionalTypes"] = sms.ProduceAdditionalTypes + } + if sms.QueryTimeout != nil { + objectMap["queryTimeout"] = sms.QueryTimeout + } + if sms.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sms.SourceRetryCount + } + if sms.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sms.SourceRetryWait + } + if sms.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sms.MaxConcurrentConnections + } + if sms.Type != "" { + objectMap["type"] = sms.Type + } + for k, v := range sms.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSQLMISource() (*SQLMISource, bool) { + return &sms, true +} + +// AsAzureSQLSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sms, true +} + +// AsBinarySource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsBasicCopySource() (BasicCopySource, bool) { + return &sms, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLMISource struct. +func (sms *SQLMISource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlReaderQuery": + if v != nil { + var SQLReaderQuery interface{} + err = json.Unmarshal(*v, &SQLReaderQuery) + if err != nil { + return err + } + sms.SQLReaderQuery = SQLReaderQuery + } + case "sqlReaderStoredProcedureName": + if v != nil { + var SQLReaderStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLReaderStoredProcedureName) + if err != nil { + return err + } + sms.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + sms.StoredProcedureParameters = storedProcedureParameters + } + case "produceAdditionalTypes": + if v != nil { + var produceAdditionalTypes interface{} + err = json.Unmarshal(*v, &produceAdditionalTypes) + if err != nil { + return err + } + sms.ProduceAdditionalTypes = produceAdditionalTypes + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sms.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sms.AdditionalProperties == nil { + sms.AdditionalProperties = make(map[string]interface{}) + } + sms.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sms.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sms.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sms.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sms.Type = typeVar + } + } + } + + return nil +} + +// SQLScript SQL script. +type SQLScript struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - The description of the SQL script. + Description *string `json:"description,omitempty"` + // Type - The type of the SQL script. Possible values include: 'SQLQuery' + Type SQLScriptType `json:"type,omitempty"` + // Content - The content of the SQL script. + Content *SQLScriptContent `json:"content,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLScript. +func (ss SQLScript) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ss.Description != nil { + objectMap["description"] = ss.Description + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + if ss.Content != nil { + objectMap["content"] = ss.Content + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SQLScript struct. +func (ss *SQLScript) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ss.Description = &description + } + case "type": + if v != nil { + var typeVar SQLScriptType + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + case "content": + if v != nil { + var content SQLScriptContent + err = json.Unmarshal(*v, &content) + if err != nil { + return err + } + ss.Content = &content + } + } + } + + return nil +} + +// SQLScriptContent the content of the SQL script. +type SQLScriptContent struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Query - SQL query to execute. + Query *string `json:"query,omitempty"` + // CurrentConnection - The connection used to execute the SQL script. + CurrentConnection *SQLConnection `json:"currentConnection,omitempty"` + // Metadata - The metadata of the SQL script. + Metadata *SQLScriptMetadata `json:"metadata,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLScriptContent. +func (ssc SQLScriptContent) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ssc.Query != nil { + objectMap["query"] = ssc.Query + } + if ssc.CurrentConnection != nil { + objectMap["currentConnection"] = ssc.CurrentConnection + } + if ssc.Metadata != nil { + objectMap["metadata"] = ssc.Metadata + } + for k, v := range ssc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SQLScriptContent struct. +func (ssc *SQLScriptContent) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ssc.AdditionalProperties == nil { + ssc.AdditionalProperties = make(map[string]interface{}) + } + ssc.AdditionalProperties[k] = additionalProperties + } + case "query": + if v != nil { + var query string + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ssc.Query = &query + } + case "currentConnection": + if v != nil { + var currentConnection SQLConnection + err = json.Unmarshal(*v, ¤tConnection) + if err != nil { + return err + } + ssc.CurrentConnection = ¤tConnection + } + case "metadata": + if v != nil { + var metadata SQLScriptMetadata + err = json.Unmarshal(*v, &metadata) + if err != nil { + return err + } + ssc.Metadata = &metadata + } + } + } + + return nil +} + +// SQLScriptMetadata the metadata of the SQL script. +type SQLScriptMetadata struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Language - The language of the SQL script. + Language *string `json:"language,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLScriptMetadata. +func (ssm SQLScriptMetadata) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ssm.Language != nil { + objectMap["language"] = ssm.Language + } + for k, v := range ssm.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SQLScriptMetadata struct. +func (ssm *SQLScriptMetadata) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ssm.AdditionalProperties == nil { + ssm.AdditionalProperties = make(map[string]interface{}) + } + ssm.AdditionalProperties[k] = additionalProperties + } + case "language": + if v != nil { + var language string + err = json.Unmarshal(*v, &language) + if err != nil { + return err + } + ssm.Language = &language + } + } + } + + return nil +} + +// SQLScriptResource sql Script resource type. +type SQLScriptResource struct { + autorest.Response `json:"-"` + // Properties - Properties of sql script. + Properties *SQLScript `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// SQLScriptsListResponse a list of sql scripts resources. +type SQLScriptsListResponse struct { + autorest.Response `json:"-"` + // Value - List of sql scripts. + Value *[]SQLScriptResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// SQLScriptsListResponseIterator provides access to a complete listing of SQLScriptResource values. +type SQLScriptsListResponseIterator struct { + i int + page SQLScriptsListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SQLScriptsListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptsListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SQLScriptsListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SQLScriptsListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SQLScriptsListResponseIterator) Response() SQLScriptsListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SQLScriptsListResponseIterator) Value() SQLScriptResource { + if !iter.page.NotDone() { + return SQLScriptResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SQLScriptsListResponseIterator type. +func NewSQLScriptsListResponseIterator(page SQLScriptsListResponsePage) SQLScriptsListResponseIterator { + return SQLScriptsListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sslr SQLScriptsListResponse) IsEmpty() bool { + return sslr.Value == nil || len(*sslr.Value) == 0 +} + +// sQLScriptsListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sslr SQLScriptsListResponse) sQLScriptsListResponsePreparer(ctx context.Context) (*http.Request, error) { + if sslr.NextLink == nil || len(to.String(sslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sslr.NextLink))) +} + +// SQLScriptsListResponsePage contains a page of SQLScriptResource values. +type SQLScriptsListResponsePage struct { + fn func(context.Context, SQLScriptsListResponse) (SQLScriptsListResponse, error) + sslr SQLScriptsListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SQLScriptsListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptsListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sslr) + if err != nil { + return err + } + page.sslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SQLScriptsListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SQLScriptsListResponsePage) NotDone() bool { + return !page.sslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SQLScriptsListResponsePage) Response() SQLScriptsListResponse { + return page.sslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SQLScriptsListResponsePage) Values() []SQLScriptResource { + if page.sslr.IsEmpty() { + return nil + } + return *page.sslr.Value +} + +// Creates a new instance of the SQLScriptsListResponsePage type. +func NewSQLScriptsListResponsePage(getNextPage func(context.Context, SQLScriptsListResponse) (SQLScriptsListResponse, error)) SQLScriptsListResponsePage { + return SQLScriptsListResponsePage{fn: getNextPage} +} + +// SQLServerLinkedService SQL Server linked service. +type SQLServerLinkedService struct { + // SQLServerLinkedServiceTypeProperties - SQL Server linked service properties. + *SQLServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerLinkedService. +func (ssls SQLServerLinkedService) MarshalJSON() ([]byte, error) { + ssls.Type = TypeSQLServer + objectMap := make(map[string]interface{}) + if ssls.SQLServerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ssls.SQLServerLinkedServiceTypeProperties + } + if ssls.ConnectVia != nil { + objectMap["connectVia"] = ssls.ConnectVia + } + if ssls.Description != nil { + objectMap["description"] = ssls.Description + } + if ssls.Parameters != nil { + objectMap["parameters"] = ssls.Parameters + } + if ssls.Annotations != nil { + objectMap["annotations"] = ssls.Annotations + } + if ssls.Type != "" { + objectMap["type"] = ssls.Type + } + for k, v := range ssls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return &ssls, true +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ssls, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedService struct. +func (ssls *SQLServerLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var SQLServerLinkedServiceTypeProperties SQLServerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &SQLServerLinkedServiceTypeProperties) + if err != nil { + return err + } + ssls.SQLServerLinkedServiceTypeProperties = &SQLServerLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ssls.AdditionalProperties == nil { + ssls.AdditionalProperties = make(map[string]interface{}) + } + ssls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ssls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ssls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ssls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ssls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ssls.Type = typeVar + } + } + } + + return nil +} + +// SQLServerLinkedServiceTypeProperties SQL Server linked service properties. +type SQLServerLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // UserName - The on-premises Windows authentication user name. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - The on-premises Windows authentication password. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedServiceTypeProperties struct. +func (sslstp *SQLServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + sslstp.ConnectionString = connectionString + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + sslstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + sslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SQLServerSink a copy activity SQL server sink. +type SQLServerSink struct { + // SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string). + SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"` + // SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string). + SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"` + // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // StoredProcedureParameters - SQL stored procedure parameters. + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). + StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerSink. +func (sss SQLServerSink) MarshalJSON() ([]byte, error) { + sss.Type = TypeSQLServerSink + objectMap := make(map[string]interface{}) + if sss.SQLWriterStoredProcedureName != nil { + objectMap["sqlWriterStoredProcedureName"] = sss.SQLWriterStoredProcedureName + } + if sss.SQLWriterTableType != nil { + objectMap["sqlWriterTableType"] = sss.SQLWriterTableType + } + if sss.PreCopyScript != nil { + objectMap["preCopyScript"] = sss.PreCopyScript + } + if sss.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = sss.StoredProcedureParameters + } + if sss.StoredProcedureTableTypeParameterName != nil { + objectMap["storedProcedureTableTypeParameterName"] = sss.StoredProcedureTableTypeParameterName + } + if sss.TableOption != nil { + objectMap["tableOption"] = sss.TableOption + } + if sss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = sss.WriteBatchSize + } + if sss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = sss.WriteBatchTimeout + } + if sss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = sss.SinkRetryCount + } + if sss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = sss.SinkRetryWait + } + if sss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sss.MaxConcurrentConnections + } + if sss.Type != "" { + objectMap["type"] = sss.Type + } + for k, v := range sss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsSQLServerSink() (*SQLServerSink, bool) { + return &sss, true +} + +// AsSQLSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsBasicCopySink() (BasicCopySink, bool) { + return &sss, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLServerSink struct. +func (sss *SQLServerSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlWriterStoredProcedureName": + if v != nil { + var SQLWriterStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLWriterStoredProcedureName) + if err != nil { + return err + } + sss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName + } + case "sqlWriterTableType": + if v != nil { + var SQLWriterTableType interface{} + err = json.Unmarshal(*v, &SQLWriterTableType) + if err != nil { + return err + } + sss.SQLWriterTableType = SQLWriterTableType + } + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + sss.PreCopyScript = preCopyScript + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + sss.StoredProcedureParameters = storedProcedureParameters + } + case "storedProcedureTableTypeParameterName": + if v != nil { + var storedProcedureTableTypeParameterName interface{} + err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName) + if err != nil { + return err + } + sss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName + } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + sss.TableOption = tableOption + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sss.AdditionalProperties == nil { + sss.AdditionalProperties = make(map[string]interface{}) + } + sss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + sss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + sss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + sss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + sss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sss.Type = typeVar + } + } + } + + return nil +} + +// SQLServerSource a copy activity SQL server source. +type SQLServerSource struct { + // SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string). + SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"` + // 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). + SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"` + // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // ProduceAdditionalTypes - Which additional types to produce. + ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerSource. +func (sss SQLServerSource) MarshalJSON() ([]byte, error) { + sss.Type = TypeSQLServerSource + objectMap := make(map[string]interface{}) + if sss.SQLReaderQuery != nil { + objectMap["sqlReaderQuery"] = sss.SQLReaderQuery + } + if sss.SQLReaderStoredProcedureName != nil { + objectMap["sqlReaderStoredProcedureName"] = sss.SQLReaderStoredProcedureName + } + if sss.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = sss.StoredProcedureParameters + } + if sss.ProduceAdditionalTypes != nil { + objectMap["produceAdditionalTypes"] = sss.ProduceAdditionalTypes + } + if sss.QueryTimeout != nil { + objectMap["queryTimeout"] = sss.QueryTimeout + } + if sss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = sss.SourceRetryCount + } + if sss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = sss.SourceRetryWait + } + if sss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sss.MaxConcurrentConnections + } + if sss.Type != "" { + objectMap["type"] = sss.Type + } + for k, v := range sss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSQLServerSource() (*SQLServerSource, bool) { + return &sss, true +} + +// AsSQLSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sss, true +} + +// AsBinarySource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsBasicCopySource() (BasicCopySource, bool) { + return &sss, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLServerSource struct. +func (sss *SQLServerSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlReaderQuery": + if v != nil { + var SQLReaderQuery interface{} + err = json.Unmarshal(*v, &SQLReaderQuery) + if err != nil { + return err + } + sss.SQLReaderQuery = SQLReaderQuery + } + case "sqlReaderStoredProcedureName": + if v != nil { + var SQLReaderStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLReaderStoredProcedureName) + if err != nil { + return err + } + sss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + sss.StoredProcedureParameters = storedProcedureParameters + } + case "produceAdditionalTypes": + if v != nil { + var produceAdditionalTypes interface{} + err = json.Unmarshal(*v, &produceAdditionalTypes) + if err != nil { + return err + } + sss.ProduceAdditionalTypes = produceAdditionalTypes + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sss.AdditionalProperties == nil { + sss.AdditionalProperties = make(map[string]interface{}) + } + sss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + sss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + sss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sss.Type = typeVar + } + } + } + + return nil +} + +// SQLServerStoredProcedureActivity SQL stored procedure activity type. +type SQLServerStoredProcedureActivity struct { + // SQLServerStoredProcedureActivityTypeProperties - SQL stored procedure activity properties. + *SQLServerStoredProcedureActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) MarshalJSON() ([]byte, error) { + ssspa.Type = TypeSQLServerStoredProcedure + objectMap := make(map[string]interface{}) + if ssspa.SQLServerStoredProcedureActivityTypeProperties != nil { + objectMap["typeProperties"] = ssspa.SQLServerStoredProcedureActivityTypeProperties + } + if ssspa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ssspa.LinkedServiceName + } + if ssspa.Policy != nil { + objectMap["policy"] = ssspa.Policy + } + if ssspa.Name != nil { + objectMap["name"] = ssspa.Name + } + if ssspa.Description != nil { + objectMap["description"] = ssspa.Description + } + if ssspa.DependsOn != nil { + objectMap["dependsOn"] = ssspa.DependsOn + } + if ssspa.UserProperties != nil { + objectMap["userProperties"] = ssspa.UserProperties + } + if ssspa.Type != "" { + objectMap["type"] = ssspa.Type + } + for k, v := range ssspa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return &ssspa, true +} + +// AsCustomActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &ssspa, true +} + +// AsWebHookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsBasicActivity() (BasicActivity, bool) { + return &ssspa, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLServerStoredProcedureActivity struct. +func (ssspa *SQLServerStoredProcedureActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var SQLServerStoredProcedureActivityTypeProperties SQLServerStoredProcedureActivityTypeProperties + err = json.Unmarshal(*v, &SQLServerStoredProcedureActivityTypeProperties) + if err != nil { + return err + } + ssspa.SQLServerStoredProcedureActivityTypeProperties = &SQLServerStoredProcedureActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ssspa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + ssspa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ssspa.AdditionalProperties == nil { + ssspa.AdditionalProperties = make(map[string]interface{}) + } + ssspa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ssspa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ssspa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ssspa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ssspa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ssspa.Type = typeVar + } + } + } + + return nil +} + +// SQLServerStoredProcedureActivityTypeProperties SQL stored procedure activity properties. +type SQLServerStoredProcedureActivityTypeProperties struct { + // StoredProcedureName - Stored procedure name. Type: string (or Expression with resultType string). + StoredProcedureName interface{} `json:"storedProcedureName,omitempty"` + // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` +} + +// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivityTypeProperties. +func (ssspatp SQLServerStoredProcedureActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ssspatp.StoredProcedureName != nil { + objectMap["storedProcedureName"] = ssspatp.StoredProcedureName + } + if ssspatp.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = ssspatp.StoredProcedureParameters + } + return json.Marshal(objectMap) +} + +// SQLServerTableDataset the on-premises SQL Server dataset. +type SQLServerTableDataset struct { + // SQLServerTableDatasetTypeProperties - On-premises SQL Server dataset properties. + *SQLServerTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerTableDataset. +func (sstd SQLServerTableDataset) MarshalJSON() ([]byte, error) { + sstd.Type = TypeSQLServerTable + objectMap := make(map[string]interface{}) + if sstd.SQLServerTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = sstd.SQLServerTableDatasetTypeProperties + } + if sstd.Description != nil { + objectMap["description"] = sstd.Description + } + if sstd.Structure != nil { + objectMap["structure"] = sstd.Structure + } + if sstd.Schema != nil { + objectMap["schema"] = sstd.Schema + } + if sstd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sstd.LinkedServiceName + } + if sstd.Parameters != nil { + objectMap["parameters"] = sstd.Parameters + } + if sstd.Annotations != nil { + objectMap["annotations"] = sstd.Annotations + } + if sstd.Folder != nil { + objectMap["folder"] = sstd.Folder + } + if sstd.Type != "" { + objectMap["type"] = sstd.Type + } + for k, v := range sstd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return &sstd, true +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &sstd, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLServerTableDataset struct. +func (sstd *SQLServerTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var SQLServerTableDatasetTypeProperties SQLServerTableDatasetTypeProperties + err = json.Unmarshal(*v, &SQLServerTableDatasetTypeProperties) + if err != nil { + return err + } + sstd.SQLServerTableDatasetTypeProperties = &SQLServerTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sstd.AdditionalProperties == nil { + sstd.AdditionalProperties = make(map[string]interface{}) + } + sstd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sstd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sstd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sstd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sstd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sstd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sstd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sstd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sstd.Type = typeVar + } + } + } + + return nil +} + +// SQLServerTableDatasetTypeProperties on-premises SQL Server dataset properties. +type SQLServerTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The schema name of the SQL Server dataset. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The table name of the SQL Server dataset. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// SQLSink a copy activity SQL sink. +type SQLSink struct { + // SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string). + SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"` + // SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string). + SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"` + // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // StoredProcedureParameters - SQL stored procedure parameters. + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). + StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // 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])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // 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])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLSink. +func (ss SQLSink) MarshalJSON() ([]byte, error) { + ss.Type = TypeSQLSink + objectMap := make(map[string]interface{}) + if ss.SQLWriterStoredProcedureName != nil { + objectMap["sqlWriterStoredProcedureName"] = ss.SQLWriterStoredProcedureName + } + if ss.SQLWriterTableType != nil { + objectMap["sqlWriterTableType"] = ss.SQLWriterTableType + } + if ss.PreCopyScript != nil { + objectMap["preCopyScript"] = ss.PreCopyScript + } + if ss.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters + } + if ss.StoredProcedureTableTypeParameterName != nil { + objectMap["storedProcedureTableTypeParameterName"] = ss.StoredProcedureTableTypeParameterName + } + if ss.TableOption != nil { + objectMap["tableOption"] = ss.TableOption + } + if ss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ss.WriteBatchSize + } + if ss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout + } + if ss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ss.SinkRetryCount + } + if ss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ss.SinkRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsSQLSink() (*SQLSink, bool) { + return &ss, true +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLSink struct. +func (ss *SQLSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlWriterStoredProcedureName": + if v != nil { + var SQLWriterStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLWriterStoredProcedureName) + if err != nil { + return err + } + ss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName + } + case "sqlWriterTableType": + if v != nil { + var SQLWriterTableType interface{} + err = json.Unmarshal(*v, &SQLWriterTableType) + if err != nil { + return err + } + ss.SQLWriterTableType = SQLWriterTableType + } + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + ss.PreCopyScript = preCopyScript + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + ss.StoredProcedureParameters = storedProcedureParameters + } + case "storedProcedureTableTypeParameterName": + if v != nil { + var storedProcedureTableTypeParameterName interface{} + err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName) + if err != nil { + return err + } + ss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName + } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + ss.TableOption = tableOption + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + ss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + ss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + ss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + ss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SQLSource a copy activity SQL source. +type SQLSource struct { + // SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string). + SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"` + // 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). + SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"` + // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". + StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLSource. +func (ss SQLSource) MarshalJSON() ([]byte, error) { + ss.Type = TypeSQLSource + objectMap := make(map[string]interface{}) + if ss.SQLReaderQuery != nil { + objectMap["sqlReaderQuery"] = ss.SQLReaderQuery + } + if ss.SQLReaderStoredProcedureName != nil { + objectMap["sqlReaderStoredProcedureName"] = ss.SQLReaderStoredProcedureName + } + if ss.StoredProcedureParameters != nil { + objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters + } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } + if ss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ss.SourceRetryCount + } + if ss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ss.SourceRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSQLSource() (*SQLSource, bool) { + return &ss, true +} + +// AsSapTableSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true +} + +// AsBinarySource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLSource struct. +func (ss *SQLSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sqlReaderQuery": + if v != nil { + var SQLReaderQuery interface{} + err = json.Unmarshal(*v, &SQLReaderQuery) + if err != nil { + return err + } + ss.SQLReaderQuery = SQLReaderQuery + } + case "sqlReaderStoredProcedureName": + if v != nil { + var SQLReaderStoredProcedureName interface{} + err = json.Unmarshal(*v, &SQLReaderStoredProcedureName) + if err != nil { + return err + } + ss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName + } + case "storedProcedureParameters": + if v != nil { + var storedProcedureParameters map[string]*StoredProcedureParameter + err = json.Unmarshal(*v, &storedProcedureParameters) + if err != nil { + return err + } + ss.StoredProcedureParameters = storedProcedureParameters + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SquareLinkedService square Service linked service. +type SquareLinkedService struct { + // SquareLinkedServiceTypeProperties - Square Service linked service properties. + *SquareLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SquareLinkedService. +func (sls SquareLinkedService) MarshalJSON() ([]byte, error) { + sls.Type = TypeSquare + objectMap := make(map[string]interface{}) + if sls.SquareLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sls.SquareLinkedServiceTypeProperties + } + if sls.ConnectVia != nil { + objectMap["connectVia"] = sls.ConnectVia + } + if sls.Description != nil { + objectMap["description"] = sls.Description + } + if sls.Parameters != nil { + objectMap["parameters"] = sls.Parameters + } + if sls.Annotations != nil { + objectMap["annotations"] = sls.Annotations + } + if sls.Type != "" { + objectMap["type"] = sls.Type + } + for k, v := range sls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return &sls, true +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sls, true +} + +// UnmarshalJSON is the custom unmarshaler for SquareLinkedService struct. +func (sls *SquareLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var squareLinkedServiceTypeProperties SquareLinkedServiceTypeProperties + err = json.Unmarshal(*v, &squareLinkedServiceTypeProperties) + if err != nil { + return err + } + sls.SquareLinkedServiceTypeProperties = &squareLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sls.AdditionalProperties == nil { + sls.AdditionalProperties = make(map[string]interface{}) + } + sls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sls.Type = typeVar + } + } + } + + return nil +} + +// SquareLinkedServiceTypeProperties square Service linked service properties. +type SquareLinkedServiceTypeProperties struct { + // Host - The URL of the Square instance. (i.e. mystore.mysquare.com) + Host interface{} `json:"host,omitempty"` + // ClientID - The client ID associated with your Square application. + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret associated with your Square application. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // RedirectURI - The redirect URL assigned in the Square application dashboard. (i.e. http://localhost:2500) + RedirectURI interface{} `json:"redirectUri,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SquareLinkedServiceTypeProperties struct. +func (slstp *SquareLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + slstp.Host = host + } + case "clientId": + if v != nil { + var clientID interface{} + err = json.Unmarshal(*v, &clientID) + if err != nil { + return err + } + slstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + slstp.ClientSecret = clientSecret + } + case "redirectUri": + if v != nil { + var redirectURI interface{} + err = json.Unmarshal(*v, &redirectURI) + if err != nil { + return err + } + slstp.RedirectURI = redirectURI + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + slstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + slstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + slstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + slstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SquareObjectDataset square Service dataset. +type SquareObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SquareObjectDataset. +func (sod SquareObjectDataset) MarshalJSON() ([]byte, error) { + sod.Type = TypeSquareObject + objectMap := make(map[string]interface{}) + if sod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = sod.GenericDatasetTypeProperties + } + if sod.Description != nil { + objectMap["description"] = sod.Description + } + if sod.Structure != nil { + objectMap["structure"] = sod.Structure + } + if sod.Schema != nil { + objectMap["schema"] = sod.Schema + } + if sod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = sod.LinkedServiceName + } + if sod.Parameters != nil { + objectMap["parameters"] = sod.Parameters + } + if sod.Annotations != nil { + objectMap["annotations"] = sod.Annotations + } + if sod.Folder != nil { + objectMap["folder"] = sod.Folder + } + if sod.Type != "" { + objectMap["type"] = sod.Type + } + for k, v := range sod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return &sod, true +} + +// AsSparkObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &sod, true +} + +// UnmarshalJSON is the custom unmarshaler for SquareObjectDataset struct. +func (sod *SquareObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + sod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sod.AdditionalProperties == nil { + sod.AdditionalProperties = make(map[string]interface{}) + } + sod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + sod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + sod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + sod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + sod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sod.Type = typeVar + } + } + } + + return nil +} + +// SquareSource a copy activity Square Service source. +type SquareSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SquareSource. +func (ss SquareSource) MarshalJSON() ([]byte, error) { + ss.Type = TypeSquareSource + objectMap := make(map[string]interface{}) + if ss.Query != nil { + objectMap["query"] = ss.Query + } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } + if ss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ss.SourceRetryCount + } + if ss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ss.SourceRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSquareSource() (*SquareSource, bool) { + return &ss, true +} + +// AsSparkSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true +} + +// AsBinarySource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for SquareSource struct. +func (ss *SquareSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SSISAccessCredential SSIS access credential. +type SSISAccessCredential struct { + // Domain - Domain for windows authentication. + Domain interface{} `json:"domain,omitempty"` + // UserName - UseName for windows authentication. + UserName interface{} `json:"userName,omitempty"` + // Password - Password for windows authentication. + Password BasicSecretBase `json:"password,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SSISAccessCredential struct. +func (sac *SSISAccessCredential) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "domain": + if v != nil { + var domain interface{} + err = json.Unmarshal(*v, &domain) + if err != nil { + return err + } + sac.Domain = domain + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + sac.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sac.Password = password + } + } + } + + return nil +} + +// SSISChildPackage SSIS embedded child package. +type SSISChildPackage struct { + // PackagePath - Path for embedded child package. Type: string (or Expression with resultType string). + PackagePath interface{} `json:"packagePath,omitempty"` + // PackageName - Name for embedded child package. + PackageName *string `json:"packageName,omitempty"` + // PackageContent - Content for embedded child package. Type: string (or Expression with resultType string). + PackageContent interface{} `json:"packageContent,omitempty"` + // PackageLastModifiedDate - Last modified date for embedded child package. + PackageLastModifiedDate *string `json:"packageLastModifiedDate,omitempty"` +} + +// SSISExecutionCredential SSIS package execution credential. +type SSISExecutionCredential struct { + // Domain - Domain for windows authentication. + Domain interface{} `json:"domain,omitempty"` + // UserName - UseName for windows authentication. + UserName interface{} `json:"userName,omitempty"` + // Password - Password for windows authentication. + Password *SecureString `json:"password,omitempty"` +} + +// SSISExecutionParameter SSIS execution parameter. +type SSISExecutionParameter struct { + // Value - SSIS package execution parameter value. Type: string (or Expression with resultType string). + Value interface{} `json:"value,omitempty"` +} + +// SSISLogLocation SSIS package execution log location +type SSISLogLocation struct { + // LogPath - The SSIS package execution log path. Type: string (or Expression with resultType string). + LogPath interface{} `json:"logPath,omitempty"` + // Type - The type of SSIS log location. + Type *string `json:"type,omitempty"` + // SSISLogLocationTypeProperties - SSIS package execution log location properties. + *SSISLogLocationTypeProperties `json:"typeProperties,omitempty"` +} + +// MarshalJSON is the custom marshaler for SSISLogLocation. +func (sll SSISLogLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sll.LogPath != nil { + objectMap["logPath"] = sll.LogPath + } + if sll.Type != nil { + objectMap["type"] = sll.Type + } + if sll.SSISLogLocationTypeProperties != nil { + objectMap["typeProperties"] = sll.SSISLogLocationTypeProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SSISLogLocation struct. +func (sll *SSISLogLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "logPath": + if v != nil { + var logPath interface{} + err = json.Unmarshal(*v, &logPath) + if err != nil { + return err + } + sll.LogPath = logPath + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sll.Type = &typeVar + } + case "typeProperties": + if v != nil { + var sSISLogLocationTypeProperties SSISLogLocationTypeProperties + err = json.Unmarshal(*v, &sSISLogLocationTypeProperties) + if err != nil { + return err + } + sll.SSISLogLocationTypeProperties = &sSISLogLocationTypeProperties + } + } + } + + return nil +} + +// SSISLogLocationTypeProperties SSIS package execution log location properties. +type SSISLogLocationTypeProperties struct { + // AccessCredential - The package execution log access credential. + AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"` + // 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])). + LogRefreshInterval interface{} `json:"logRefreshInterval,omitempty"` +} + +// SsisObjectMetadataStatusResponse the status of the operation. +type SsisObjectMetadataStatusResponse struct { + // Status - The status of the operation. + Status *string `json:"status,omitempty"` + // Name - The operation name. + Name *string `json:"name,omitempty"` + // Properties - The operation properties. + Properties *string `json:"properties,omitempty"` + // Error - The operation error message. + Error *string `json:"error,omitempty"` +} + +// SSISPackageLocation SSIS package location. +type SSISPackageLocation struct { + // PackagePath - The SSIS package path. Type: string (or Expression with resultType string). + PackagePath interface{} `json:"packagePath,omitempty"` + // Type - The type of SSIS package location. Possible values include: 'SSISDB', 'File', 'InlinePackage' + Type SsisPackageLocationType `json:"type,omitempty"` + // SSISPackageLocationTypeProperties - SSIS package location properties. + *SSISPackageLocationTypeProperties `json:"typeProperties,omitempty"` +} + +// MarshalJSON is the custom marshaler for SSISPackageLocation. +func (spl SSISPackageLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if spl.PackagePath != nil { + objectMap["packagePath"] = spl.PackagePath + } + if spl.Type != "" { + objectMap["type"] = spl.Type + } + if spl.SSISPackageLocationTypeProperties != nil { + objectMap["typeProperties"] = spl.SSISPackageLocationTypeProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SSISPackageLocation struct. +func (spl *SSISPackageLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "packagePath": + if v != nil { + var packagePath interface{} + err = json.Unmarshal(*v, &packagePath) + if err != nil { + return err + } + spl.PackagePath = packagePath + } + case "type": + if v != nil { + var typeVar SsisPackageLocationType + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + spl.Type = typeVar + } + case "typeProperties": + if v != nil { + var sSISPackageLocationTypeProperties SSISPackageLocationTypeProperties + err = json.Unmarshal(*v, &sSISPackageLocationTypeProperties) + if err != nil { + return err + } + spl.SSISPackageLocationTypeProperties = &sSISPackageLocationTypeProperties + } + } + } + + return nil +} + +// SSISPackageLocationTypeProperties SSIS package location properties. +type SSISPackageLocationTypeProperties struct { + // PackagePassword - Password of the package. + PackagePassword BasicSecretBase `json:"packagePassword,omitempty"` + // AccessCredential - The package access credential. + AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"` + // ConfigurationPath - The configuration file of the package execution. Type: string (or Expression with resultType string). + ConfigurationPath interface{} `json:"configurationPath,omitempty"` + // PackageName - The package name. + PackageName *string `json:"packageName,omitempty"` + // PackageContent - The embedded package content. Type: string (or Expression with resultType string). + PackageContent interface{} `json:"packageContent,omitempty"` + // PackageLastModifiedDate - The embedded package last modified date. + PackageLastModifiedDate *string `json:"packageLastModifiedDate,omitempty"` + // ChildPackages - The embedded child package list. + ChildPackages *[]SSISChildPackage `json:"childPackages,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SSISPackageLocationTypeProperties struct. +func (spltp *SSISPackageLocationTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "packagePassword": + if v != nil { + packagePassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + spltp.PackagePassword = packagePassword + } + case "accessCredential": + if v != nil { + var accessCredential SSISAccessCredential + err = json.Unmarshal(*v, &accessCredential) + if err != nil { + return err + } + spltp.AccessCredential = &accessCredential + } + case "configurationPath": + if v != nil { + var configurationPath interface{} + err = json.Unmarshal(*v, &configurationPath) + if err != nil { + return err + } + spltp.ConfigurationPath = configurationPath + } + case "packageName": + if v != nil { + var packageName string + err = json.Unmarshal(*v, &packageName) + if err != nil { + return err + } + spltp.PackageName = &packageName + } + case "packageContent": + if v != nil { + var packageContent interface{} + err = json.Unmarshal(*v, &packageContent) + if err != nil { + return err + } + spltp.PackageContent = packageContent + } + case "packageLastModifiedDate": + if v != nil { + var packageLastModifiedDate string + err = json.Unmarshal(*v, &packageLastModifiedDate) + if err != nil { + return err + } + spltp.PackageLastModifiedDate = &packageLastModifiedDate + } + case "childPackages": + if v != nil { + var childPackages []SSISChildPackage + err = json.Unmarshal(*v, &childPackages) + if err != nil { + return err + } + spltp.ChildPackages = &childPackages + } + } + } + + return nil +} + +// SSISPropertyOverride SSIS property override. +type SSISPropertyOverride struct { + // Value - SSIS package property override value. Type: string (or Expression with resultType string). + Value interface{} `json:"value,omitempty"` + // IsSensitive - Whether SSIS package property override value is sensitive data. Value will be encrypted in SSISDB if it is true + IsSensitive *bool `json:"isSensitive,omitempty"` +} + +// StagingSettings staging settings. +type StagingSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // LinkedServiceName - Staging linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Path - The path to storage for storing the interim data. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` + // EnableCompression - Specifies whether to use compression when copying data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean). + EnableCompression interface{} `json:"enableCompression,omitempty"` +} + +// MarshalJSON is the custom marshaler for StagingSettings. +func (ss StagingSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ss.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ss.LinkedServiceName + } + if ss.Path != nil { + objectMap["path"] = ss.Path + } + if ss.EnableCompression != nil { + objectMap["enableCompression"] = ss.EnableCompression + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for StagingSettings struct. +func (ss *StagingSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ss.LinkedServiceName = &linkedServiceName + } + case "path": + if v != nil { + var pathVar interface{} + err = json.Unmarshal(*v, &pathVar) + if err != nil { + return err + } + ss.Path = pathVar + } + case "enableCompression": + if v != nil { + var enableCompression interface{} + err = json.Unmarshal(*v, &enableCompression) + if err != nil { + return err + } + ss.EnableCompression = enableCompression + } + } + } + + return nil +} + +// StartDataFlowDebugSessionRequest request body structure for starting data flow debug session. +type StartDataFlowDebugSessionRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlow - Data flow instance. + DataFlow *DataFlowResource `json:"dataFlow,omitempty"` + // Datasets - List of datasets. + Datasets *[]DatasetResource `json:"datasets,omitempty"` + // LinkedServices - List of linked services. + LinkedServices *[]LinkedServiceResource `json:"linkedServices,omitempty"` + // Staging - Staging info for debug session. + Staging interface{} `json:"staging,omitempty"` + // DebugSettings - Data flow debug settings. + DebugSettings interface{} `json:"debugSettings,omitempty"` + // IncrementalDebug - The type of new Databricks cluster. + IncrementalDebug *bool `json:"incrementalDebug,omitempty"` +} + +// StartDataFlowDebugSessionResponse response body structure for starting data flow debug session. +type StartDataFlowDebugSessionResponse struct { + // JobVersion - The ID of data flow debug job version. + JobVersion *string `json:"jobVersion,omitempty"` +} + +// StoredProcedureParameter SQL stored procedure parameter. +type StoredProcedureParameter struct { + // Value - Stored procedure parameter value. Type: string (or Expression with resultType string). + Value interface{} `json:"value,omitempty"` + // Type - Stored procedure parameter type. Possible values include: 'String', 'Int', 'Int64', 'Decimal', 'GUID', 'Boolean', 'Date' + Type StoredProcedureParameterType `json:"type,omitempty"` +} + +// BasicStoreReadSettings connector read setting. +type BasicStoreReadSettings interface { + AsHdfsReadSettings() (*HdfsReadSettings, bool) + AsHTTPReadSettings() (*HTTPReadSettings, bool) + AsSftpReadSettings() (*SftpReadSettings, bool) + AsFtpReadSettings() (*FtpReadSettings, bool) + AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) + AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) + AsFileServerReadSettings() (*FileServerReadSettings, bool) + AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) + AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) + AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) + AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) + AsStoreReadSettings() (*StoreReadSettings, bool) +} + +// StoreReadSettings connector read setting. +type StoreReadSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings' + Type TypeBasicStoreReadSettings `json:"type,omitempty"` +} + +func unmarshalBasicStoreReadSettings(body []byte) (BasicStoreReadSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeHdfsReadSettings): + var hrs HdfsReadSettings + err := json.Unmarshal(body, &hrs) + return hrs, err + case string(TypeHTTPReadSettings): + var hrs HTTPReadSettings + err := json.Unmarshal(body, &hrs) + return hrs, err + case string(TypeSftpReadSettings): + var srs SftpReadSettings + err := json.Unmarshal(body, &srs) + return srs, err + case string(TypeFtpReadSettings): + var frs FtpReadSettings + err := json.Unmarshal(body, &frs) + return frs, err + case string(TypeGoogleCloudStorageReadSettings): + var gcsrs GoogleCloudStorageReadSettings + err := json.Unmarshal(body, &gcsrs) + return gcsrs, err + case string(TypeAzureFileStorageReadSettings): + var afsrs AzureFileStorageReadSettings + err := json.Unmarshal(body, &afsrs) + return afsrs, err + case string(TypeFileServerReadSettings): + var fsrs FileServerReadSettings + err := json.Unmarshal(body, &fsrs) + return fsrs, err + case string(TypeAmazonS3ReadSettings): + var asrs AmazonS3ReadSettings + err := json.Unmarshal(body, &asrs) + return asrs, err + case string(TypeAzureDataLakeStoreReadSettings): + var adlsrs AzureDataLakeStoreReadSettings + err := json.Unmarshal(body, &adlsrs) + return adlsrs, err + case string(TypeAzureBlobFSReadSettings): + var abfrs AzureBlobFSReadSettings + err := json.Unmarshal(body, &abfrs) + return abfrs, err + case string(TypeAzureBlobStorageReadSettings): + var absrs AzureBlobStorageReadSettings + err := json.Unmarshal(body, &absrs) + return absrs, err + default: + var srs StoreReadSettings + err := json.Unmarshal(body, &srs) + return srs, err + } +} +func unmarshalBasicStoreReadSettingsArray(body []byte) ([]BasicStoreReadSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + srsArray := make([]BasicStoreReadSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + srs, err := unmarshalBasicStoreReadSettings(*rawMessage) + if err != nil { + return nil, err + } + srsArray[index] = srs + } + return srsArray, nil +} + +// MarshalJSON is the custom marshaler for StoreReadSettings. +func (srs StoreReadSettings) MarshalJSON() ([]byte, error) { + srs.Type = TypeStoreReadSettings + objectMap := make(map[string]interface{}) + if srs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = srs.MaxConcurrentConnections + } + if srs.Type != "" { + objectMap["type"] = srs.Type + } + for k, v := range srs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHdfsReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) { + return nil, false +} + +// AsHTTPReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) { + return nil, false +} + +// AsSftpReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) { + return nil, false +} + +// AsFtpReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) { + return nil, false +} + +// AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) { + return nil, false +} + +// AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) { + return nil, false +} + +// AsFileServerReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) { + return nil, false +} + +// AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) { + return nil, false +} + +// AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) { + return nil, false +} + +// AsStoreReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) { + return &srs, true +} + +// AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings. +func (srs StoreReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) { + return &srs, true +} + +// UnmarshalJSON is the custom unmarshaler for StoreReadSettings struct. +func (srs *StoreReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if srs.AdditionalProperties == nil { + srs.AdditionalProperties = make(map[string]interface{}) + } + srs.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + srs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicStoreReadSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + srs.Type = typeVar + } + } + } + + return nil +} + +// BasicStoreWriteSettings connector write settings. +type BasicStoreWriteSettings interface { + AsFileServerWriteSettings() (*FileServerWriteSettings, bool) + AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) + AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) + AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) + AsSftpWriteSettings() (*SftpWriteSettings, bool) + AsStoreWriteSettings() (*StoreWriteSettings, bool) +} + +// StoreWriteSettings connector write settings. +type StoreWriteSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` +} + +func unmarshalBasicStoreWriteSettings(body []byte) (BasicStoreWriteSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeFileServerWriteSettings): + var fsws FileServerWriteSettings + err := json.Unmarshal(body, &fsws) + return fsws, err + case string(TypeAzureDataLakeStoreWriteSettings): + var adlsws AzureDataLakeStoreWriteSettings + err := json.Unmarshal(body, &adlsws) + return adlsws, err + case string(TypeAzureBlobFSWriteSettings): + var abfws AzureBlobFSWriteSettings + err := json.Unmarshal(body, &abfws) + return abfws, err + case string(TypeAzureBlobStorageWriteSettings): + var absws AzureBlobStorageWriteSettings + err := json.Unmarshal(body, &absws) + return absws, err + case string(TypeSftpWriteSettings): + var sws SftpWriteSettings + err := json.Unmarshal(body, &sws) + return sws, err + default: + var sws StoreWriteSettings + err := json.Unmarshal(body, &sws) + return sws, err + } +} +func unmarshalBasicStoreWriteSettingsArray(body []byte) ([]BasicStoreWriteSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + swsArray := make([]BasicStoreWriteSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sws, err := unmarshalBasicStoreWriteSettings(*rawMessage) + if err != nil { + return nil, err + } + swsArray[index] = sws + } + return swsArray, nil +} + +// MarshalJSON is the custom marshaler for StoreWriteSettings. +func (sws StoreWriteSettings) MarshalJSON() ([]byte, error) { + sws.Type = TypeStoreWriteSettings + objectMap := make(map[string]interface{}) + if sws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = sws.MaxConcurrentConnections + } + if sws.CopyBehavior != nil { + objectMap["copyBehavior"] = sws.CopyBehavior + } + if sws.Type != "" { + objectMap["type"] = sws.Type + } + for k, v := range sws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsSftpWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return &sws, true +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &sws, true +} + +// UnmarshalJSON is the custom unmarshaler for StoreWriteSettings struct. +func (sws *StoreWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sws.AdditionalProperties == nil { + sws.AdditionalProperties = make(map[string]interface{}) + } + sws.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + sws.MaxConcurrentConnections = maxConcurrentConnections + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + sws.CopyBehavior = copyBehavior + } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sws.Type = typeVar + } + } + } + + return nil +} + +// SubResource azure Synapse nested resource, which belongs to a workspace. +type SubResource struct { + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// SubResourceDebugResource azure Synapse nested debug resource. +type SubResourceDebugResource struct { + // Name - The resource name. + Name *string `json:"name,omitempty"` +} + +// SwitchActivity this activity evaluates an expression and executes activities under the cases property +// that correspond to the expression evaluation expected in the equals property. +type SwitchActivity struct { + // SwitchActivityTypeProperties - Switch activity properties. + *SwitchActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SwitchActivity. +func (sa SwitchActivity) MarshalJSON() ([]byte, error) { + sa.Type = TypeSwitch + objectMap := make(map[string]interface{}) + if sa.SwitchActivityTypeProperties != nil { + objectMap["typeProperties"] = sa.SwitchActivityTypeProperties + } + if sa.Name != nil { + objectMap["name"] = sa.Name + } + if sa.Description != nil { + objectMap["description"] = sa.Description + } + if sa.DependsOn != nil { + objectMap["dependsOn"] = sa.DependsOn + } + if sa.UserProperties != nil { + objectMap["userProperties"] = sa.UserProperties + } + if sa.Type != "" { + objectMap["type"] = sa.Type + } + for k, v := range sa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return &sa, true +} + +// AsIfConditionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &sa, true +} + +// AsActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsBasicActivity() (BasicActivity, bool) { + return &sa, true +} + +// UnmarshalJSON is the custom unmarshaler for SwitchActivity struct. +func (sa *SwitchActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var switchActivityTypeProperties SwitchActivityTypeProperties + err = json.Unmarshal(*v, &switchActivityTypeProperties) + if err != nil { + return err + } + sa.SwitchActivityTypeProperties = &switchActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sa.AdditionalProperties == nil { + sa.AdditionalProperties = make(map[string]interface{}) + } + sa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + sa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + sa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sa.Type = typeVar + } + } + } + + return nil +} + +// SwitchActivityTypeProperties switch activity properties. +type SwitchActivityTypeProperties struct { + // 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. + On *Expression `json:"on,omitempty"` + // 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. + Cases *[]SwitchCase `json:"cases,omitempty"` + // 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. + DefaultActivities *[]BasicActivity `json:"defaultActivities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SwitchActivityTypeProperties struct. +func (satp *SwitchActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "on": + if v != nil { + var on Expression + err = json.Unmarshal(*v, &on) + if err != nil { + return err + } + satp.On = &on + } + case "cases": + if v != nil { + var cases []SwitchCase + err = json.Unmarshal(*v, &cases) + if err != nil { + return err + } + satp.Cases = &cases + } + case "defaultActivities": + if v != nil { + defaultActivities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + satp.DefaultActivities = &defaultActivities + } + } + } + + return nil +} + +// SwitchCase switch cases with have a value and corresponding activities. +type SwitchCase struct { + // Value - Expected value that satisfies the expression result of the 'on' property. + Value *string `json:"value,omitempty"` + // Activities - List of activities to execute for satisfied case condition. + Activities *[]BasicActivity `json:"activities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SwitchCase struct. +func (sc *SwitchCase) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "value": + if v != nil { + var value string + err = json.Unmarshal(*v, &value) + if err != nil { + return err + } + sc.Value = &value + } + case "activities": + if v != nil { + activities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + sc.Activities = &activities + } + } + } + + return nil +} + +// SybaseLinkedService linked service for Sybase data source. +type SybaseLinkedService struct { + // SybaseLinkedServiceTypeProperties - Sybase linked service properties. + *SybaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SybaseLinkedService. +func (sls SybaseLinkedService) MarshalJSON() ([]byte, error) { + sls.Type = TypeSybase + objectMap := make(map[string]interface{}) + if sls.SybaseLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = sls.SybaseLinkedServiceTypeProperties + } + if sls.ConnectVia != nil { + objectMap["connectVia"] = sls.ConnectVia + } + if sls.Description != nil { + objectMap["description"] = sls.Description + } + if sls.Parameters != nil { + objectMap["parameters"] = sls.Parameters + } + if sls.Annotations != nil { + objectMap["annotations"] = sls.Annotations + } + if sls.Type != "" { + objectMap["type"] = sls.Type + } + for k, v := range sls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return &sls, true +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &sls, true +} + +// UnmarshalJSON is the custom unmarshaler for SybaseLinkedService struct. +func (sls *SybaseLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sybaseLinkedServiceTypeProperties SybaseLinkedServiceTypeProperties + err = json.Unmarshal(*v, &sybaseLinkedServiceTypeProperties) + if err != nil { + return err + } + sls.SybaseLinkedServiceTypeProperties = &sybaseLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sls.AdditionalProperties == nil { + sls.AdditionalProperties = make(map[string]interface{}) + } + sls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + sls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + sls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + sls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sls.Type = typeVar + } + } + } + + return nil +} + +// SybaseLinkedServiceTypeProperties sybase linked service properties. +type SybaseLinkedServiceTypeProperties struct { + // Server - Server name for connection. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // Database - Database name for connection. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` + // Schema - Schema name for connection. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'SybaseAuthenticationTypeBasic', 'SybaseAuthenticationTypeWindows' + AuthenticationType SybaseAuthenticationType `json:"authenticationType,omitempty"` + // Username - Username for authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password for authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SybaseLinkedServiceTypeProperties struct. +func (slstp *SybaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + slstp.Server = server + } + case "database": + if v != nil { + var databaseVar interface{} + err = json.Unmarshal(*v, &databaseVar) + if err != nil { + return err + } + slstp.Database = databaseVar + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + slstp.Schema = schema + } + case "authenticationType": + if v != nil { + var authenticationType SybaseAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + slstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + slstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + slstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + slstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// SybaseSource a copy activity source for Sybase databases. +type SybaseSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SybaseSource. +func (ss SybaseSource) MarshalJSON() ([]byte, error) { + ss.Type = TypeSybaseSource + objectMap := make(map[string]interface{}) + if ss.Query != nil { + objectMap["query"] = ss.Query + } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } + if ss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ss.SourceRetryCount + } + if ss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ss.SourceRetryWait + } + if ss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + for k, v := range ss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSybaseSource() (*SybaseSource, bool) { + return &ss, true +} + +// AsPostgreSQLSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true +} + +// AsBinarySource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ss, true +} + +// UnmarshalJSON is the custom unmarshaler for SybaseSource struct. +func (ss *SybaseSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ss.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ss.AdditionalProperties == nil { + ss.AdditionalProperties = make(map[string]interface{}) + } + ss.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ss.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ss.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = typeVar + } + } + } + + return nil +} + +// SybaseTableDataset the Sybase table dataset. +type SybaseTableDataset struct { + // SybaseTableDatasetTypeProperties - Sybase table dataset properties. + *SybaseTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SybaseTableDataset. +func (std SybaseTableDataset) MarshalJSON() ([]byte, error) { + std.Type = TypeSybaseTable + objectMap := make(map[string]interface{}) + if std.SybaseTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = std.SybaseTableDatasetTypeProperties + } + if std.Description != nil { + objectMap["description"] = std.Description + } + if std.Structure != nil { + objectMap["structure"] = std.Structure + } + if std.Schema != nil { + objectMap["schema"] = std.Schema + } + if std.LinkedServiceName != nil { + objectMap["linkedServiceName"] = std.LinkedServiceName + } + if std.Parameters != nil { + objectMap["parameters"] = std.Parameters + } + if std.Annotations != nil { + objectMap["annotations"] = std.Annotations + } + if std.Folder != nil { + objectMap["folder"] = std.Folder + } + if std.Type != "" { + objectMap["type"] = std.Type + } + for k, v := range std.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return &std, true +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &std, true +} + +// UnmarshalJSON is the custom unmarshaler for SybaseTableDataset struct. +func (std *SybaseTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var sybaseTableDatasetTypeProperties SybaseTableDatasetTypeProperties + err = json.Unmarshal(*v, &sybaseTableDatasetTypeProperties) + if err != nil { + return err + } + std.SybaseTableDatasetTypeProperties = &sybaseTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if std.AdditionalProperties == nil { + std.AdditionalProperties = make(map[string]interface{}) + } + std.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + std.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + std.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + std.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + std.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + std.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + std.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + std.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + std.Type = typeVar + } + } + } + + return nil +} + +// SybaseTableDatasetTypeProperties sybase table dataset properties. +type SybaseTableDatasetTypeProperties struct { + // TableName - The Sybase table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// BasicTabularSource copy activity sources of tabular type. +type BasicTabularSource interface { + AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) + AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) + AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) + AsDynamicsAXSource() (*DynamicsAXSource, bool) + AsResponsysSource() (*ResponsysSource, bool) + AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) + AsVerticaSource() (*VerticaSource, bool) + AsNetezzaSource() (*NetezzaSource, bool) + AsZohoSource() (*ZohoSource, bool) + AsXeroSource() (*XeroSource, bool) + AsSquareSource() (*SquareSource, bool) + AsSparkSource() (*SparkSource, bool) + AsShopifySource() (*ShopifySource, bool) + AsServiceNowSource() (*ServiceNowSource, bool) + AsQuickBooksSource() (*QuickBooksSource, bool) + AsPrestoSource() (*PrestoSource, bool) + AsPhoenixSource() (*PhoenixSource, bool) + AsPaypalSource() (*PaypalSource, bool) + AsMarketoSource() (*MarketoSource, bool) + AsAzureMariaDBSource() (*AzureMariaDBSource, bool) + AsMariaDBSource() (*MariaDBSource, bool) + AsMagentoSource() (*MagentoSource, bool) + AsJiraSource() (*JiraSource, bool) + AsImpalaSource() (*ImpalaSource, bool) + AsHubspotSource() (*HubspotSource, bool) + AsHiveSource() (*HiveSource, bool) + AsHBaseSource() (*HBaseSource, bool) + AsGreenplumSource() (*GreenplumSource, bool) + AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) + AsEloquaSource() (*EloquaSource, bool) + AsDrillSource() (*DrillSource, bool) + AsCouchbaseSource() (*CouchbaseSource, bool) + AsConcurSource() (*ConcurSource, bool) + AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) + AsAmazonMWSSource() (*AmazonMWSSource, bool) + AsCassandraSource() (*CassandraSource, bool) + AsTeradataSource() (*TeradataSource, bool) + AsAzureMySQLSource() (*AzureMySQLSource, bool) + AsSQLDWSource() (*SQLDWSource, bool) + AsSQLMISource() (*SQLMISource, bool) + AsAzureSQLSource() (*AzureSQLSource, bool) + AsSQLServerSource() (*SQLServerSource, bool) + AsSQLSource() (*SQLSource, bool) + AsSapTableSource() (*SapTableSource, bool) + AsSapOpenHubSource() (*SapOpenHubSource, bool) + AsSapHanaSource() (*SapHanaSource, bool) + AsSapEccSource() (*SapEccSource, bool) + AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) + AsSalesforceSource() (*SalesforceSource, bool) + AsSapBwSource() (*SapBwSource, bool) + AsSybaseSource() (*SybaseSource, bool) + AsPostgreSQLSource() (*PostgreSQLSource, bool) + AsMySQLSource() (*MySQLSource, bool) + AsOdbcSource() (*OdbcSource, bool) + AsDb2Source() (*Db2Source, bool) + AsInformixSource() (*InformixSource, bool) + AsAzureTableSource() (*AzureTableSource, bool) + AsTabularSource() (*TabularSource, bool) +} + +// TabularSource copy activity sources of tabular type. +type TabularSource struct { + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +func unmarshalBasicTabularSource(body []byte) (BasicTabularSource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeAmazonRedshiftSource): + var ars AmazonRedshiftSource + err := json.Unmarshal(body, &ars) + return ars, err + case string(TypeGoogleAdWordsSource): + var gaws GoogleAdWordsSource + err := json.Unmarshal(body, &gaws) + return gaws, err + case string(TypeOracleServiceCloudSource): + var oscs OracleServiceCloudSource + err := json.Unmarshal(body, &oscs) + return oscs, err + case string(TypeDynamicsAXSource): + var das DynamicsAXSource + err := json.Unmarshal(body, &das) + return das, err + case string(TypeResponsysSource): + var rs ResponsysSource + err := json.Unmarshal(body, &rs) + return rs, err + case string(TypeSalesforceMarketingCloudSource): + var smcs SalesforceMarketingCloudSource + err := json.Unmarshal(body, &smcs) + return smcs, err + case string(TypeVerticaSource): + var vs VerticaSource + err := json.Unmarshal(body, &vs) + return vs, err + case string(TypeNetezzaSource): + var ns NetezzaSource + err := json.Unmarshal(body, &ns) + return ns, err + case string(TypeZohoSource): + var zs ZohoSource + err := json.Unmarshal(body, &zs) + return zs, err + case string(TypeXeroSource): + var xs XeroSource + err := json.Unmarshal(body, &xs) + return xs, err + case string(TypeSquareSource): + var ss SquareSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSparkSource): + var ss SparkSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeShopifySource): + var ss ShopifySource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeServiceNowSource): + var sns ServiceNowSource + err := json.Unmarshal(body, &sns) + return sns, err + case string(TypeQuickBooksSource): + var qbs QuickBooksSource + err := json.Unmarshal(body, &qbs) + return qbs, err + case string(TypePrestoSource): + var ps PrestoSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypePhoenixSource): + var ps PhoenixSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypePaypalSource): + var ps PaypalSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypeMarketoSource): + var ms MarketoSource + err := json.Unmarshal(body, &ms) + return ms, err + case string(TypeAzureMariaDBSource): + var amds AzureMariaDBSource + err := json.Unmarshal(body, &amds) + return amds, err + case string(TypeMariaDBSource): + var mds MariaDBSource + err := json.Unmarshal(body, &mds) + return mds, err + case string(TypeMagentoSource): + var ms MagentoSource + err := json.Unmarshal(body, &ms) + return ms, err + case string(TypeJiraSource): + var js JiraSource + err := json.Unmarshal(body, &js) + return js, err + case string(TypeImpalaSource): + var is ImpalaSource + err := json.Unmarshal(body, &is) + return is, err + case string(TypeHubspotSource): + var hs HubspotSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeHiveSource): + var hs HiveSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeHBaseSource): + var hbs HBaseSource + err := json.Unmarshal(body, &hbs) + return hbs, err + case string(TypeGreenplumSource): + var gs GreenplumSource + err := json.Unmarshal(body, &gs) + return gs, err + case string(TypeGoogleBigQuerySource): + var gbqs GoogleBigQuerySource + err := json.Unmarshal(body, &gbqs) + return gbqs, err + case string(TypeEloquaSource): + var es EloquaSource + err := json.Unmarshal(body, &es) + return es, err + case string(TypeDrillSource): + var ds DrillSource + err := json.Unmarshal(body, &ds) + return ds, err + case string(TypeCouchbaseSource): + var cs CouchbaseSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeConcurSource): + var cs ConcurSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeAzurePostgreSQLSource): + var apss AzurePostgreSQLSource + err := json.Unmarshal(body, &apss) + return apss, err + case string(TypeAmazonMWSSource): + var ams AmazonMWSSource + err := json.Unmarshal(body, &ams) + return ams, err + case string(TypeCassandraSource): + var cs CassandraSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeTeradataSource): + var ts TeradataSource + err := json.Unmarshal(body, &ts) + return ts, err + case string(TypeAzureMySQLSource): + var amss AzureMySQLSource + err := json.Unmarshal(body, &amss) + return amss, err + case string(TypeSQLDWSource): + var sds SQLDWSource + err := json.Unmarshal(body, &sds) + return sds, err + case string(TypeSQLMISource): + var sms SQLMISource + err := json.Unmarshal(body, &sms) + return sms, err + case string(TypeAzureSQLSource): + var ass AzureSQLSource + err := json.Unmarshal(body, &ass) + return ass, err + case string(TypeSQLServerSource): + var sss SQLServerSource + err := json.Unmarshal(body, &sss) + return sss, err + case string(TypeSQLSource): + var ss SQLSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSapTableSource): + var sts SapTableSource + err := json.Unmarshal(body, &sts) + return sts, err + case string(TypeSapOpenHubSource): + var sohs SapOpenHubSource + err := json.Unmarshal(body, &sohs) + return sohs, err + case string(TypeSapHanaSource): + var shs SapHanaSource + err := json.Unmarshal(body, &shs) + return shs, err + case string(TypeSapEccSource): + var ses SapEccSource + err := json.Unmarshal(body, &ses) + return ses, err + case string(TypeSapCloudForCustomerSource): + var scfcs SapCloudForCustomerSource + err := json.Unmarshal(body, &scfcs) + return scfcs, err + case string(TypeSalesforceSource): + var ss SalesforceSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSapBwSource): + var sbs SapBwSource + err := json.Unmarshal(body, &sbs) + return sbs, err + case string(TypeSybaseSource): + var ss SybaseSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypePostgreSQLSource): + var pss PostgreSQLSource + err := json.Unmarshal(body, &pss) + return pss, err + case string(TypeMySQLSource): + var mss MySQLSource + err := json.Unmarshal(body, &mss) + return mss, err + case string(TypeOdbcSource): + var osVar OdbcSource + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeDb2Source): + var d2s Db2Source + err := json.Unmarshal(body, &d2s) + return d2s, err + case string(TypeInformixSource): + var is InformixSource + err := json.Unmarshal(body, &is) + return is, err + case string(TypeAzureTableSource): + var ats AzureTableSource + err := json.Unmarshal(body, &ats) + return ats, err + default: + var ts TabularSource + err := json.Unmarshal(body, &ts) + return ts, err + } +} +func unmarshalBasicTabularSourceArray(body []byte) ([]BasicTabularSource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + tsArray := make([]BasicTabularSource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ts, err := unmarshalBasicTabularSource(*rawMessage) + if err != nil { + return nil, err + } + tsArray[index] = ts + } + return tsArray, nil +} + +// MarshalJSON is the custom marshaler for TabularSource. +func (ts TabularSource) MarshalJSON() ([]byte, error) { + ts.Type = TypeTabularSource + objectMap := make(map[string]interface{}) + if ts.QueryTimeout != nil { + objectMap["queryTimeout"] = ts.QueryTimeout + } + if ts.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ts.SourceRetryCount + } + if ts.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ts.SourceRetryWait + } + if ts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ts.MaxConcurrentConnections + } + if ts.Type != "" { + objectMap["type"] = ts.Type + } + for k, v := range ts.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsTabularSource() (*TabularSource, bool) { + return &ts, true +} + +// AsBasicTabularSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ts, true +} + +// AsBinarySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ts, true +} + +// UnmarshalJSON is the custom unmarshaler for TabularSource struct. +func (ts *TabularSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ts.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ts.AdditionalProperties == nil { + ts.AdditionalProperties = make(map[string]interface{}) + } + ts.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ts.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ts.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ts.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ts.Type = typeVar + } + } + } + + return nil +} + +// TeradataLinkedService linked service for Teradata data source. +type TeradataLinkedService struct { + // TeradataLinkedServiceTypeProperties - Teradata linked service properties. + *TeradataLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TeradataLinkedService. +func (TLSVar TeradataLinkedService) MarshalJSON() ([]byte, error) { + TLSVar.Type = TypeTeradata + objectMap := make(map[string]interface{}) + if TLSVar.TeradataLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = TLSVar.TeradataLinkedServiceTypeProperties + } + if TLSVar.ConnectVia != nil { + objectMap["connectVia"] = TLSVar.ConnectVia + } + if TLSVar.Description != nil { + objectMap["description"] = TLSVar.Description + } + if TLSVar.Parameters != nil { + objectMap["parameters"] = TLSVar.Parameters + } + if TLSVar.Annotations != nil { + objectMap["annotations"] = TLSVar.Annotations + } + if TLSVar.Type != "" { + objectMap["type"] = TLSVar.Type + } + for k, v := range TLSVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return &TLSVar, true +} + +// AsDb2LinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &TLSVar, true +} + +// UnmarshalJSON is the custom unmarshaler for TeradataLinkedService struct. +func (TLSVar *TeradataLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var teradataLinkedServiceTypeProperties TeradataLinkedServiceTypeProperties + err = json.Unmarshal(*v, &teradataLinkedServiceTypeProperties) + if err != nil { + return err + } + TLSVar.TeradataLinkedServiceTypeProperties = &teradataLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if TLSVar.AdditionalProperties == nil { + TLSVar.AdditionalProperties = make(map[string]interface{}) + } + TLSVar.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + TLSVar.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + TLSVar.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + TLSVar.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + TLSVar.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + TLSVar.Type = typeVar + } + } + } + + return nil +} + +// TeradataLinkedServiceTypeProperties teradata linked service properties. +type TeradataLinkedServiceTypeProperties struct { + // ConnectionString - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Server - Server name for connection. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'TeradataAuthenticationTypeBasic', 'TeradataAuthenticationTypeWindows' + AuthenticationType TeradataAuthenticationType `json:"authenticationType,omitempty"` + // Username - Username for authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password for authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TeradataLinkedServiceTypeProperties struct. +func (tlstp *TeradataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + tlstp.ConnectionString = connectionString + } + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + tlstp.Server = server + } + case "authenticationType": + if v != nil { + var authenticationType TeradataAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + tlstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + tlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + tlstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + tlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// TeradataPartitionSettings the settings that will be leveraged for teradata source partitioning. +type TeradataPartitionSettings struct { + // PartitionColumnName - The name of the column that will be used for proceeding range or hash partitioning. Type: string (or Expression with resultType string). + PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` + // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` + // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` +} + +// TeradataSource a copy activity Teradata source. +type TeradataSource struct { + // Query - Teradata query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // PartitionOption - The partition mechanism that will be used for teradata read in parallel. Possible values include: 'TeradataPartitionOptionNone', 'TeradataPartitionOptionHash', 'TeradataPartitionOptionDynamicRange' + PartitionOption TeradataPartitionOption `json:"partitionOption,omitempty"` + // PartitionSettings - The settings that will be leveraged for teradata source partitioning. + PartitionSettings *TeradataPartitionSettings `json:"partitionSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TeradataSource. +func (ts TeradataSource) MarshalJSON() ([]byte, error) { + ts.Type = TypeTeradataSource + objectMap := make(map[string]interface{}) + if ts.Query != nil { + objectMap["query"] = ts.Query + } + if ts.PartitionOption != "" { + objectMap["partitionOption"] = ts.PartitionOption + } + if ts.PartitionSettings != nil { + objectMap["partitionSettings"] = ts.PartitionSettings + } + if ts.QueryTimeout != nil { + objectMap["queryTimeout"] = ts.QueryTimeout + } + if ts.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ts.SourceRetryCount + } + if ts.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ts.SourceRetryWait + } + if ts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ts.MaxConcurrentConnections + } + if ts.Type != "" { + objectMap["type"] = ts.Type + } + for k, v := range ts.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsTeradataSource() (*TeradataSource, bool) { + return &ts, true +} + +// AsAzureMySQLSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ts, true +} + +// AsBinarySource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ts, true +} + +// UnmarshalJSON is the custom unmarshaler for TeradataSource struct. +func (ts *TeradataSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + ts.Query = query + } + case "partitionOption": + if v != nil { + var partitionOption TeradataPartitionOption + err = json.Unmarshal(*v, &partitionOption) + if err != nil { + return err + } + ts.PartitionOption = partitionOption + } + case "partitionSettings": + if v != nil { + var partitionSettings TeradataPartitionSettings + err = json.Unmarshal(*v, &partitionSettings) + if err != nil { + return err + } + ts.PartitionSettings = &partitionSettings + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ts.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ts.AdditionalProperties == nil { + ts.AdditionalProperties = make(map[string]interface{}) + } + ts.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ts.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ts.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ts.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ts.Type = typeVar + } + } + } + + return nil +} + +// TeradataTableDataset the Teradata database dataset. +type TeradataTableDataset struct { + // TeradataTableDatasetTypeProperties - Teradata dataset properties. + *TeradataTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TeradataTableDataset. +func (ttd TeradataTableDataset) MarshalJSON() ([]byte, error) { + ttd.Type = TypeTeradataTable + objectMap := make(map[string]interface{}) + if ttd.TeradataTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = ttd.TeradataTableDatasetTypeProperties + } + if ttd.Description != nil { + objectMap["description"] = ttd.Description + } + if ttd.Structure != nil { + objectMap["structure"] = ttd.Structure + } + if ttd.Schema != nil { + objectMap["schema"] = ttd.Schema + } + if ttd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ttd.LinkedServiceName + } + if ttd.Parameters != nil { + objectMap["parameters"] = ttd.Parameters + } + if ttd.Annotations != nil { + objectMap["annotations"] = ttd.Annotations + } + if ttd.Folder != nil { + objectMap["folder"] = ttd.Folder + } + if ttd.Type != "" { + objectMap["type"] = ttd.Type + } + for k, v := range ttd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return &ttd, true +} + +// AsOracleTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &ttd, true +} + +// UnmarshalJSON is the custom unmarshaler for TeradataTableDataset struct. +func (ttd *TeradataTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var teradataTableDatasetTypeProperties TeradataTableDatasetTypeProperties + err = json.Unmarshal(*v, &teradataTableDatasetTypeProperties) + if err != nil { + return err + } + ttd.TeradataTableDatasetTypeProperties = &teradataTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ttd.AdditionalProperties == nil { + ttd.AdditionalProperties = make(map[string]interface{}) + } + ttd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ttd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + ttd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ttd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ttd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ttd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ttd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ttd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ttd.Type = typeVar + } + } + } + + return nil +} + +// TeradataTableDatasetTypeProperties teradata dataset properties. +type TeradataTableDatasetTypeProperties struct { + // Database - The database name of Teradata. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` + // Table - The table name of Teradata. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// Transformation a data flow transformation. +type Transformation struct { + // Name - Transformation name. + Name *string `json:"name,omitempty"` + // Description - Transformation description. + Description *string `json:"description,omitempty"` +} + +// BasicTrigger azure Synapse nested object which contains information about creating pipeline run +type BasicTrigger interface { + AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) + AsChainingTrigger() (*ChainingTrigger, bool) + AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) + AsBlobEventsTrigger() (*BlobEventsTrigger, bool) + AsBlobTrigger() (*BlobTrigger, bool) + AsScheduleTrigger() (*ScheduleTrigger, bool) + AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) + AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) + AsTrigger() (*Trigger, bool) +} + +// Trigger azure Synapse nested object which contains information about creating pipeline run +type Trigger struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +func unmarshalBasicTrigger(body []byte) (BasicTrigger, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeRerunTumblingWindowTrigger): + var rtwt RerunTumblingWindowTrigger + err := json.Unmarshal(body, &rtwt) + return rtwt, err + case string(TypeChainingTrigger): + var ct ChainingTrigger + err := json.Unmarshal(body, &ct) + return ct, err + case string(TypeTumblingWindowTrigger): + var twt TumblingWindowTrigger + err := json.Unmarshal(body, &twt) + return twt, err + case string(TypeBlobEventsTrigger): + var bet BlobEventsTrigger + err := json.Unmarshal(body, &bet) + return bet, err + case string(TypeBlobTrigger): + var bt BlobTrigger + err := json.Unmarshal(body, &bt) + return bt, err + case string(TypeScheduleTrigger): + var st ScheduleTrigger + err := json.Unmarshal(body, &st) + return st, err + case string(TypeMultiplePipelineTrigger): + var mpt MultiplePipelineTrigger + err := json.Unmarshal(body, &mpt) + return mpt, err + default: + var t Trigger + err := json.Unmarshal(body, &t) + return t, err + } +} +func unmarshalBasicTriggerArray(body []byte) ([]BasicTrigger, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + tArray := make([]BasicTrigger, len(rawMessages)) + + for index, rawMessage := range rawMessages { + t, err := unmarshalBasicTrigger(*rawMessage) + if err != nil { + return nil, err + } + tArray[index] = t + } + return tArray, nil +} + +// MarshalJSON is the custom marshaler for Trigger. +func (t Trigger) MarshalJSON() ([]byte, error) { + t.Type = TypeTrigger + objectMap := make(map[string]interface{}) + if t.Description != nil { + objectMap["description"] = t.Description + } + if t.Annotations != nil { + objectMap["annotations"] = t.Annotations + } + if t.Type != "" { + objectMap["type"] = t.Type + } + for k, v := range t.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return nil, false +} + +// AsTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsTrigger() (*Trigger, bool) { + return &t, true +} + +// AsBasicTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsBasicTrigger() (BasicTrigger, bool) { + return &t, true +} + +// UnmarshalJSON is the custom unmarshaler for Trigger struct. +func (t *Trigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if t.AdditionalProperties == nil { + t.AdditionalProperties = make(map[string]interface{}) + } + t.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + t.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + t.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + t.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + t.Type = typeVar + } + } + } + + return nil +} + +// TriggerDependencyProvisioningStatus defines the response of a provision trigger dependency operation. +type TriggerDependencyProvisioningStatus struct { + // TriggerName - Trigger name. + TriggerName *string `json:"triggerName,omitempty"` + // ProvisioningStatus - Provisioning status. + ProvisioningStatus *string `json:"provisioningStatus,omitempty"` +} + +// BasicTriggerDependencyReference trigger referenced dependency. +type BasicTriggerDependencyReference interface { + AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) + AsTriggerDependencyReference() (*TriggerDependencyReference, bool) +} + +// TriggerDependencyReference trigger referenced dependency. +type TriggerDependencyReference struct { + // ReferenceTrigger - Referenced trigger. + ReferenceTrigger *TriggerReference `json:"referenceTrigger,omitempty"` + // Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference' + Type TypeBasicDependencyReference `json:"type,omitempty"` +} + +func unmarshalBasicTriggerDependencyReference(body []byte) (BasicTriggerDependencyReference, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeTumblingWindowTriggerDependencyReference): + var twtdr TumblingWindowTriggerDependencyReference + err := json.Unmarshal(body, &twtdr) + return twtdr, err + default: + var tdr TriggerDependencyReference + err := json.Unmarshal(body, &tdr) + return tdr, err + } +} +func unmarshalBasicTriggerDependencyReferenceArray(body []byte) ([]BasicTriggerDependencyReference, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + tdrArray := make([]BasicTriggerDependencyReference, len(rawMessages)) + + for index, rawMessage := range rawMessages { + tdr, err := unmarshalBasicTriggerDependencyReference(*rawMessage) + if err != nil { + return nil, err + } + tdrArray[index] = tdr + } + return tdrArray, nil +} + +// MarshalJSON is the custom marshaler for TriggerDependencyReference. +func (tdr TriggerDependencyReference) MarshalJSON() ([]byte, error) { + tdr.Type = TypeTriggerDependencyReference + objectMap := make(map[string]interface{}) + if tdr.ReferenceTrigger != nil { + objectMap["referenceTrigger"] = tdr.ReferenceTrigger + } + if tdr.Type != "" { + objectMap["type"] = tdr.Type + } + return json.Marshal(objectMap) +} + +// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for TriggerDependencyReference. +func (tdr TriggerDependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) { + return nil, false +} + +// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference. +func (tdr TriggerDependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) { + return nil, false +} + +// AsTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference. +func (tdr TriggerDependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) { + return &tdr, true +} + +// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference. +func (tdr TriggerDependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) { + return &tdr, true +} + +// AsDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference. +func (tdr TriggerDependencyReference) AsDependencyReference() (*DependencyReference, bool) { + return nil, false +} + +// AsBasicDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference. +func (tdr TriggerDependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) { + return &tdr, true +} + +// TriggerListResponse a list of trigger resources. +type TriggerListResponse struct { + autorest.Response `json:"-"` + // Value - List of triggers. + Value *[]TriggerResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// TriggerListResponseIterator provides access to a complete listing of TriggerResource values. +type TriggerListResponseIterator struct { + i int + page TriggerListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TriggerListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TriggerListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TriggerListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TriggerListResponseIterator) Response() TriggerListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TriggerListResponseIterator) Value() TriggerResource { + if !iter.page.NotDone() { + return TriggerResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TriggerListResponseIterator type. +func NewTriggerListResponseIterator(page TriggerListResponsePage) TriggerListResponseIterator { + return TriggerListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tlr TriggerListResponse) IsEmpty() bool { + return tlr.Value == nil || len(*tlr.Value) == 0 +} + +// triggerListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tlr TriggerListResponse) triggerListResponsePreparer(ctx context.Context) (*http.Request, error) { + if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tlr.NextLink))) +} + +// TriggerListResponsePage contains a page of TriggerResource values. +type TriggerListResponsePage struct { + fn func(context.Context, TriggerListResponse) (TriggerListResponse, error) + tlr TriggerListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TriggerListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tlr) + if err != nil { + return err + } + page.tlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TriggerListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TriggerListResponsePage) NotDone() bool { + return !page.tlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TriggerListResponsePage) Response() TriggerListResponse { + return page.tlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TriggerListResponsePage) Values() []TriggerResource { + if page.tlr.IsEmpty() { + return nil + } + return *page.tlr.Value +} + +// Creates a new instance of the TriggerListResponsePage type. +func NewTriggerListResponsePage(getNextPage func(context.Context, TriggerListResponse) (TriggerListResponse, error)) TriggerListResponsePage { + return TriggerListResponsePage{fn: getNextPage} +} + +// TriggerPipelineReference pipeline that needs to be triggered with the given parameters. +type TriggerPipelineReference struct { + // PipelineReference - Pipeline reference. + PipelineReference *PipelineReference `json:"pipelineReference,omitempty"` + // Parameters - Pipeline parameters. + Parameters map[string]interface{} `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for TriggerPipelineReference. +func (tpr TriggerPipelineReference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tpr.PipelineReference != nil { + objectMap["pipelineReference"] = tpr.PipelineReference + } + if tpr.Parameters != nil { + objectMap["parameters"] = tpr.Parameters + } + return json.Marshal(objectMap) +} + +// TriggerReference trigger reference type. +type TriggerReference struct { + // Type - Trigger reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference trigger name. + ReferenceName *string `json:"referenceName,omitempty"` +} + +// TriggerResource trigger resource type. +type TriggerResource struct { + autorest.Response `json:"-"` + // Properties - Properties of the trigger. + Properties BasicTrigger `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TriggerResource struct. +func (tr *TriggerResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicTrigger(*v) + if err != nil { + return err + } + tr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + tr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + tr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + tr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + tr.Etag = &etag + } + } + } + + return nil +} + +// TriggerRun trigger runs. +type TriggerRun struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // TriggerRunID - READ-ONLY; Trigger run id. + TriggerRunID *string `json:"triggerRunId,omitempty"` + // TriggerName - READ-ONLY; Trigger name. + TriggerName *string `json:"triggerName,omitempty"` + // TriggerType - READ-ONLY; Trigger type. + TriggerType *string `json:"triggerType,omitempty"` + // TriggerRunTimestamp - READ-ONLY; Trigger run start time. + TriggerRunTimestamp *date.Time `json:"triggerRunTimestamp,omitempty"` + // Status - READ-ONLY; Trigger run status. Possible values include: 'TriggerRunStatusSucceeded', 'TriggerRunStatusFailed', 'TriggerRunStatusInprogress' + Status TriggerRunStatus `json:"status,omitempty"` + // Message - READ-ONLY; Trigger error message. + Message *string `json:"message,omitempty"` + // Properties - READ-ONLY; List of property name and value related to trigger run. Name, value pair depends on type of trigger. + Properties map[string]*string `json:"properties"` + // TriggeredPipelines - READ-ONLY; List of pipeline name and run Id triggered by the trigger run. + TriggeredPipelines map[string]*string `json:"triggeredPipelines"` +} + +// MarshalJSON is the custom marshaler for TriggerRun. +func (tr TriggerRun) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + for k, v := range tr.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TriggerRun struct. +func (tr *TriggerRun) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if tr.AdditionalProperties == nil { + tr.AdditionalProperties = make(map[string]interface{}) + } + tr.AdditionalProperties[k] = additionalProperties + } + case "triggerRunId": + if v != nil { + var triggerRunID string + err = json.Unmarshal(*v, &triggerRunID) + if err != nil { + return err + } + tr.TriggerRunID = &triggerRunID + } + case "triggerName": + if v != nil { + var triggerName string + err = json.Unmarshal(*v, &triggerName) + if err != nil { + return err + } + tr.TriggerName = &triggerName + } + case "triggerType": + if v != nil { + var triggerType string + err = json.Unmarshal(*v, &triggerType) + if err != nil { + return err + } + tr.TriggerType = &triggerType + } + case "triggerRunTimestamp": + if v != nil { + var triggerRunTimestamp date.Time + err = json.Unmarshal(*v, &triggerRunTimestamp) + if err != nil { + return err + } + tr.TriggerRunTimestamp = &triggerRunTimestamp + } + case "status": + if v != nil { + var status TriggerRunStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + tr.Status = status + } + case "message": + if v != nil { + var message string + err = json.Unmarshal(*v, &message) + if err != nil { + return err + } + tr.Message = &message + } + case "properties": + if v != nil { + var properties map[string]*string + err = json.Unmarshal(*v, &properties) + if err != nil { + return err + } + tr.Properties = properties + } + case "triggeredPipelines": + if v != nil { + var triggeredPipelines map[string]*string + err = json.Unmarshal(*v, &triggeredPipelines) + if err != nil { + return err + } + tr.TriggeredPipelines = triggeredPipelines + } + } + } + + return nil +} + +// TriggerRunsQueryResponse a list of trigger runs. +type TriggerRunsQueryResponse struct { + autorest.Response `json:"-"` + // Value - List of trigger runs. + Value *[]TriggerRun `json:"value,omitempty"` + // ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise. + ContinuationToken *string `json:"continuationToken,omitempty"` +} + +// TriggerStartTriggerFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type TriggerStartTriggerFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggerStartTriggerFuture) Result(client TriggerClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerStartTriggerFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.TriggerStartTriggerFuture") + return + } + ar.Response = future.Response() + return +} + +// TriggerStopTriggerFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type TriggerStopTriggerFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggerStopTriggerFuture) Result(client TriggerClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerStopTriggerFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.TriggerStopTriggerFuture") + return + } + ar.Response = future.Response() + return +} + +// TriggerSubscribeTriggerToEventsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type TriggerSubscribeTriggerToEventsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggerSubscribeTriggerToEventsFuture) Result(client TriggerClient) (tsos TriggerSubscriptionOperationStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerSubscribeTriggerToEventsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.TriggerSubscribeTriggerToEventsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tsos.Response.Response, err = future.GetResult(sender); err == nil && tsos.Response.Response.StatusCode != http.StatusNoContent { + tsos, err = client.SubscribeTriggerToEventsResponder(tsos.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerSubscribeTriggerToEventsFuture", "Result", tsos.Response.Response, "Failure responding to request") + } + } + return +} + +// TriggerSubscriptionOperationStatus defines the response of a trigger subscription operation. +type TriggerSubscriptionOperationStatus struct { + autorest.Response `json:"-"` + // TriggerName - READ-ONLY; Trigger name. + TriggerName *string `json:"triggerName,omitempty"` + // Status - READ-ONLY; Event Subscription Status. Possible values include: 'Enabled', 'Provisioning', 'Deprovisioning', 'Disabled', 'Unknown' + Status EventSubscriptionStatus `json:"status,omitempty"` +} + +// TriggerUnsubscribeTriggerFromEventsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type TriggerUnsubscribeTriggerFromEventsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggerUnsubscribeTriggerFromEventsFuture) Result(client TriggerClient) (tsos TriggerSubscriptionOperationStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerUnsubscribeTriggerFromEventsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("artifacts.TriggerUnsubscribeTriggerFromEventsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tsos.Response.Response, err = future.GetResult(sender); err == nil && tsos.Response.Response.StatusCode != http.StatusNoContent { + tsos, err = client.UnsubscribeTriggerFromEventsResponder(tsos.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerUnsubscribeTriggerFromEventsFuture", "Result", tsos.Response.Response, "Failure responding to request") + } + } + return +} + +// TumblingWindowTrigger trigger that schedules pipeline runs for all fixed time interval windows from a +// start time without gaps and also supports backfill scenarios (when start time is in the past). +type TumblingWindowTrigger struct { + // Pipeline - Pipeline for which runs are created when an event is fired for trigger window that is ready. + Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"` + // TumblingWindowTriggerTypeProperties - Tumbling Window Trigger properties. + *TumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // 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' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) MarshalJSON() ([]byte, error) { + twt.Type = TypeTumblingWindowTrigger + objectMap := make(map[string]interface{}) + if twt.Pipeline != nil { + objectMap["pipeline"] = twt.Pipeline + } + if twt.TumblingWindowTriggerTypeProperties != nil { + objectMap["typeProperties"] = twt.TumblingWindowTriggerTypeProperties + } + if twt.Description != nil { + objectMap["description"] = twt.Description + } + if twt.Annotations != nil { + objectMap["annotations"] = twt.Annotations + } + if twt.Type != "" { + objectMap["type"] = twt.Type + } + for k, v := range twt.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return &twt, true +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return nil, false +} + +// AsTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &twt, true +} + +// UnmarshalJSON is the custom unmarshaler for TumblingWindowTrigger struct. +func (twt *TumblingWindowTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "pipeline": + if v != nil { + var pipeline TriggerPipelineReference + err = json.Unmarshal(*v, &pipeline) + if err != nil { + return err + } + twt.Pipeline = &pipeline + } + case "typeProperties": + if v != nil { + var tumblingWindowTriggerTypeProperties TumblingWindowTriggerTypeProperties + err = json.Unmarshal(*v, &tumblingWindowTriggerTypeProperties) + if err != nil { + return err + } + twt.TumblingWindowTriggerTypeProperties = &tumblingWindowTriggerTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if twt.AdditionalProperties == nil { + twt.AdditionalProperties = make(map[string]interface{}) + } + twt.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + twt.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + twt.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + twt.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + twt.Type = typeVar + } + } + } + + return nil +} + +// TumblingWindowTriggerDependencyReference referenced tumbling window trigger dependency. +type TumblingWindowTriggerDependencyReference struct { + // Offset - Timespan applied to the start time of a tumbling window when evaluating dependency. + Offset *string `json:"offset,omitempty"` + // Size - The size of the window when evaluating the dependency. If undefined the frequency of the tumbling window will be used. + Size *string `json:"size,omitempty"` + // ReferenceTrigger - Referenced trigger. + ReferenceTrigger *TriggerReference `json:"referenceTrigger,omitempty"` + // Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference' + Type TypeBasicDependencyReference `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TumblingWindowTriggerDependencyReference. +func (twtdr TumblingWindowTriggerDependencyReference) MarshalJSON() ([]byte, error) { + twtdr.Type = TypeTumblingWindowTriggerDependencyReference + objectMap := make(map[string]interface{}) + if twtdr.Offset != nil { + objectMap["offset"] = twtdr.Offset + } + if twtdr.Size != nil { + objectMap["size"] = twtdr.Size + } + if twtdr.ReferenceTrigger != nil { + objectMap["referenceTrigger"] = twtdr.ReferenceTrigger + } + if twtdr.Type != "" { + objectMap["type"] = twtdr.Type + } + return json.Marshal(objectMap) +} + +// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference. +func (twtdr TumblingWindowTriggerDependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) { + return nil, false +} + +// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference. +func (twtdr TumblingWindowTriggerDependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) { + return &twtdr, true +} + +// AsTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference. +func (twtdr TumblingWindowTriggerDependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) { + return nil, false +} + +// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference. +func (twtdr TumblingWindowTriggerDependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) { + return &twtdr, true +} + +// AsDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference. +func (twtdr TumblingWindowTriggerDependencyReference) AsDependencyReference() (*DependencyReference, bool) { + return nil, false +} + +// AsBasicDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference. +func (twtdr TumblingWindowTriggerDependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) { + return &twtdr, true +} + +// TumblingWindowTriggerTypeProperties tumbling Window Trigger properties. +type TumblingWindowTriggerTypeProperties struct { + // Frequency - The frequency of the time windows. Possible values include: 'TumblingWindowFrequencyMinute', 'TumblingWindowFrequencyHour' + Frequency TumblingWindowFrequency `json:"frequency,omitempty"` + // Interval - The interval of the time windows. The minimum interval allowed is 15 Minutes. + Interval *int32 `json:"interval,omitempty"` + // 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. + StartTime *date.Time `json:"startTime,omitempty"` + // 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. + EndTime *date.Time `json:"endTime,omitempty"` + // 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])). + Delay interface{} `json:"delay,omitempty"` + // MaxConcurrency - The max number of parallel time windows (ready for execution) for which a new run is triggered. + MaxConcurrency *int32 `json:"maxConcurrency,omitempty"` + // RetryPolicy - Retry policy that will be applied for failed pipeline runs. + RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"` + // DependsOn - Triggers that this trigger depends on. Only tumbling window triggers are supported. + DependsOn *[]BasicDependencyReference `json:"dependsOn,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TumblingWindowTriggerTypeProperties struct. +func (twtP *TumblingWindowTriggerTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "frequency": + if v != nil { + var frequency TumblingWindowFrequency + err = json.Unmarshal(*v, &frequency) + if err != nil { + return err + } + twtP.Frequency = frequency + } + case "interval": + if v != nil { + var interval int32 + err = json.Unmarshal(*v, &interval) + if err != nil { + return err + } + twtP.Interval = &interval + } + case "startTime": + if v != nil { + var startTime date.Time + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + twtP.StartTime = &startTime + } + case "endTime": + if v != nil { + var endTime date.Time + err = json.Unmarshal(*v, &endTime) + if err != nil { + return err + } + twtP.EndTime = &endTime + } + case "delay": + if v != nil { + var delay interface{} + err = json.Unmarshal(*v, &delay) + if err != nil { + return err + } + twtP.Delay = delay + } + case "maxConcurrency": + if v != nil { + var maxConcurrency int32 + err = json.Unmarshal(*v, &maxConcurrency) + if err != nil { + return err + } + twtP.MaxConcurrency = &maxConcurrency + } + case "retryPolicy": + if v != nil { + var retryPolicy RetryPolicy + err = json.Unmarshal(*v, &retryPolicy) + if err != nil { + return err + } + twtP.RetryPolicy = &retryPolicy + } + case "dependsOn": + if v != nil { + dependsOn, err := unmarshalBasicDependencyReferenceArray(*v) + if err != nil { + return err + } + twtP.DependsOn = &dependsOn + } + } + } + + return nil +} + +// UntilActivity this activity executes inner activities until the specified boolean expression results to +// true or timeout is reached, whichever is earlier. +type UntilActivity struct { + // UntilActivityTypeProperties - Until activity properties. + *UntilActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for UntilActivity. +func (ua UntilActivity) MarshalJSON() ([]byte, error) { + ua.Type = TypeUntil + objectMap := make(map[string]interface{}) + if ua.UntilActivityTypeProperties != nil { + objectMap["typeProperties"] = ua.UntilActivityTypeProperties + } + if ua.Name != nil { + objectMap["name"] = ua.Name + } + if ua.Description != nil { + objectMap["description"] = ua.Description + } + if ua.DependsOn != nil { + objectMap["dependsOn"] = ua.DependsOn + } + if ua.UserProperties != nil { + objectMap["userProperties"] = ua.UserProperties + } + if ua.Type != "" { + objectMap["type"] = ua.Type + } + for k, v := range ua.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsUntilActivity() (*UntilActivity, bool) { + return &ua, true +} + +// AsWaitActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &ua, true +} + +// AsActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsBasicActivity() (BasicActivity, bool) { + return &ua, true +} + +// UnmarshalJSON is the custom unmarshaler for UntilActivity struct. +func (ua *UntilActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var untilActivityTypeProperties UntilActivityTypeProperties + err = json.Unmarshal(*v, &untilActivityTypeProperties) + if err != nil { + return err + } + ua.UntilActivityTypeProperties = &untilActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ua.AdditionalProperties == nil { + ua.AdditionalProperties = make(map[string]interface{}) + } + ua.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ua.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ua.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + ua.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + ua.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ua.Type = typeVar + } + } + } + + return nil +} + +// UntilActivityTypeProperties until activity properties. +type UntilActivityTypeProperties struct { + // Expression - An expression that would evaluate to Boolean. The loop will continue until this expression evaluates to true + Expression *Expression `json:"expression,omitempty"` + // 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])). + Timeout interface{} `json:"timeout,omitempty"` + // Activities - List of activities to execute. + Activities *[]BasicActivity `json:"activities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UntilActivityTypeProperties struct. +func (uatp *UntilActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "expression": + if v != nil { + var expression Expression + err = json.Unmarshal(*v, &expression) + if err != nil { + return err + } + uatp.Expression = &expression + } + case "timeout": + if v != nil { + var timeout interface{} + err = json.Unmarshal(*v, &timeout) + if err != nil { + return err + } + uatp.Timeout = timeout + } + case "activities": + if v != nil { + activities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + uatp.Activities = &activities + } + } + } + + return nil +} + +// UserProperty user property. +type UserProperty struct { + // Name - User property name. + Name *string `json:"name,omitempty"` + // Value - User property value. Type: string (or Expression with resultType string). + Value interface{} `json:"value,omitempty"` +} + +// ValidationActivity this activity verifies that an external resource exists. +type ValidationActivity struct { + // ValidationActivityTypeProperties - Validation activity properties. + *ValidationActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ValidationActivity. +func (va ValidationActivity) MarshalJSON() ([]byte, error) { + va.Type = TypeValidation + objectMap := make(map[string]interface{}) + if va.ValidationActivityTypeProperties != nil { + objectMap["typeProperties"] = va.ValidationActivityTypeProperties + } + if va.Name != nil { + objectMap["name"] = va.Name + } + if va.Description != nil { + objectMap["description"] = va.Description + } + if va.DependsOn != nil { + objectMap["dependsOn"] = va.DependsOn + } + if va.UserProperties != nil { + objectMap["userProperties"] = va.UserProperties + } + if va.Type != "" { + objectMap["type"] = va.Type + } + for k, v := range va.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsValidationActivity() (*ValidationActivity, bool) { + return &va, true +} + +// AsUntilActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &va, true +} + +// AsActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsBasicActivity() (BasicActivity, bool) { + return &va, true +} + +// UnmarshalJSON is the custom unmarshaler for ValidationActivity struct. +func (va *ValidationActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var validationActivityTypeProperties ValidationActivityTypeProperties + err = json.Unmarshal(*v, &validationActivityTypeProperties) + if err != nil { + return err + } + va.ValidationActivityTypeProperties = &validationActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if va.AdditionalProperties == nil { + va.AdditionalProperties = make(map[string]interface{}) + } + va.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + va.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + va.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + va.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + va.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + va.Type = typeVar + } + } + } + + return nil +} + +// ValidationActivityTypeProperties validation activity properties. +type ValidationActivityTypeProperties struct { + // 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])). + Timeout interface{} `json:"timeout,omitempty"` + // 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). + Sleep interface{} `json:"sleep,omitempty"` + // 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). + MinimumSize interface{} `json:"minimumSize,omitempty"` + // 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). + ChildItems interface{} `json:"childItems,omitempty"` + // Dataset - Validation activity dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` +} + +// VariableSpecification definition of a single variable for a Pipeline. +type VariableSpecification struct { + // Type - Variable type. Possible values include: 'VariableTypeString', 'VariableTypeBool', 'VariableTypeBoolean', 'VariableTypeArray' + Type VariableType `json:"type,omitempty"` + // DefaultValue - Default value of variable. + DefaultValue interface{} `json:"defaultValue,omitempty"` +} + +// VerticaDatasetTypeProperties vertica Properties +type VerticaDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Vertica. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Vertica. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// VerticaLinkedService vertica linked service. +type VerticaLinkedService struct { + // VerticaLinkedServiceTypeProperties - Vertica linked service properties. + *VerticaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VerticaLinkedService. +func (vls VerticaLinkedService) MarshalJSON() ([]byte, error) { + vls.Type = TypeVertica + objectMap := make(map[string]interface{}) + if vls.VerticaLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = vls.VerticaLinkedServiceTypeProperties + } + if vls.ConnectVia != nil { + objectMap["connectVia"] = vls.ConnectVia + } + if vls.Description != nil { + objectMap["description"] = vls.Description + } + if vls.Parameters != nil { + objectMap["parameters"] = vls.Parameters + } + if vls.Annotations != nil { + objectMap["annotations"] = vls.Annotations + } + if vls.Type != "" { + objectMap["type"] = vls.Type + } + for k, v := range vls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return &vls, true +} + +// AsZohoLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &vls, true +} + +// UnmarshalJSON is the custom unmarshaler for VerticaLinkedService struct. +func (vls *VerticaLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var verticaLinkedServiceTypeProperties VerticaLinkedServiceTypeProperties + err = json.Unmarshal(*v, &verticaLinkedServiceTypeProperties) + if err != nil { + return err + } + vls.VerticaLinkedServiceTypeProperties = &verticaLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if vls.AdditionalProperties == nil { + vls.AdditionalProperties = make(map[string]interface{}) + } + vls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + vls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + vls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + vls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + vls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vls.Type = typeVar + } + } + } + + return nil +} + +// VerticaLinkedServiceTypeProperties vertica linked service properties. +type VerticaLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// VerticaSource a copy activity Vertica source. +type VerticaSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VerticaSource. +func (vs VerticaSource) MarshalJSON() ([]byte, error) { + vs.Type = TypeVerticaSource + objectMap := make(map[string]interface{}) + if vs.Query != nil { + objectMap["query"] = vs.Query + } + if vs.QueryTimeout != nil { + objectMap["queryTimeout"] = vs.QueryTimeout + } + if vs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = vs.SourceRetryCount + } + if vs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = vs.SourceRetryWait + } + if vs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = vs.MaxConcurrentConnections + } + if vs.Type != "" { + objectMap["type"] = vs.Type + } + for k, v := range vs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsVerticaSource() (*VerticaSource, bool) { + return &vs, true +} + +// AsNetezzaSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &vs, true +} + +// AsBinarySource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &vs, true +} + +// UnmarshalJSON is the custom unmarshaler for VerticaSource struct. +func (vs *VerticaSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + vs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + vs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if vs.AdditionalProperties == nil { + vs.AdditionalProperties = make(map[string]interface{}) + } + vs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + vs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + vs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + vs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vs.Type = typeVar + } + } + } + + return nil +} + +// VerticaTableDataset vertica dataset. +type VerticaTableDataset struct { + // VerticaDatasetTypeProperties - Properties specific to this dataset type. + *VerticaDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VerticaTableDataset. +func (vtd VerticaTableDataset) MarshalJSON() ([]byte, error) { + vtd.Type = TypeVerticaTable + objectMap := make(map[string]interface{}) + if vtd.VerticaDatasetTypeProperties != nil { + objectMap["typeProperties"] = vtd.VerticaDatasetTypeProperties + } + if vtd.Description != nil { + objectMap["description"] = vtd.Description + } + if vtd.Structure != nil { + objectMap["structure"] = vtd.Structure + } + if vtd.Schema != nil { + objectMap["schema"] = vtd.Schema + } + if vtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = vtd.LinkedServiceName + } + if vtd.Parameters != nil { + objectMap["parameters"] = vtd.Parameters + } + if vtd.Annotations != nil { + objectMap["annotations"] = vtd.Annotations + } + if vtd.Folder != nil { + objectMap["folder"] = vtd.Folder + } + if vtd.Type != "" { + objectMap["type"] = vtd.Type + } + for k, v := range vtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return &vtd, true +} + +// AsNetezzaTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &vtd, true +} + +// UnmarshalJSON is the custom unmarshaler for VerticaTableDataset struct. +func (vtd *VerticaTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var verticaDatasetTypeProperties VerticaDatasetTypeProperties + err = json.Unmarshal(*v, &verticaDatasetTypeProperties) + if err != nil { + return err + } + vtd.VerticaDatasetTypeProperties = &verticaDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if vtd.AdditionalProperties == nil { + vtd.AdditionalProperties = make(map[string]interface{}) + } + vtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + vtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + vtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + vtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + vtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + vtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + vtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + vtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vtd.Type = typeVar + } + } + } + + return nil +} + +// WaitActivity this activity suspends pipeline execution for the specified interval. +type WaitActivity struct { + // WaitActivityTypeProperties - Wait activity properties. + *WaitActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for WaitActivity. +func (wa WaitActivity) MarshalJSON() ([]byte, error) { + wa.Type = TypeWait + objectMap := make(map[string]interface{}) + if wa.WaitActivityTypeProperties != nil { + objectMap["typeProperties"] = wa.WaitActivityTypeProperties + } + if wa.Name != nil { + objectMap["name"] = wa.Name + } + if wa.Description != nil { + objectMap["description"] = wa.Description + } + if wa.DependsOn != nil { + objectMap["dependsOn"] = wa.DependsOn + } + if wa.UserProperties != nil { + objectMap["userProperties"] = wa.UserProperties + } + if wa.Type != "" { + objectMap["type"] = wa.Type + } + for k, v := range wa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsWaitActivity() (*WaitActivity, bool) { + return &wa, true +} + +// AsForEachActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &wa, true +} + +// AsActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsBasicActivity() (BasicActivity, bool) { + return &wa, true +} + +// UnmarshalJSON is the custom unmarshaler for WaitActivity struct. +func (wa *WaitActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var waitActivityTypeProperties WaitActivityTypeProperties + err = json.Unmarshal(*v, &waitActivityTypeProperties) + if err != nil { + return err + } + wa.WaitActivityTypeProperties = &waitActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if wa.AdditionalProperties == nil { + wa.AdditionalProperties = make(map[string]interface{}) + } + wa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + wa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + wa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + wa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wa.Type = typeVar + } + } + } + + return nil +} + +// WaitActivityTypeProperties wait activity properties. +type WaitActivityTypeProperties struct { + // WaitTimeInSeconds - Duration in seconds. + WaitTimeInSeconds *int32 `json:"waitTimeInSeconds,omitempty"` +} + +// WebActivity web activity. +type WebActivity struct { + // WebActivityTypeProperties - Web activity properties. + *WebActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebActivity. +func (wa WebActivity) MarshalJSON() ([]byte, error) { + wa.Type = TypeWebActivity + objectMap := make(map[string]interface{}) + if wa.WebActivityTypeProperties != nil { + objectMap["typeProperties"] = wa.WebActivityTypeProperties + } + if wa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = wa.LinkedServiceName + } + if wa.Policy != nil { + objectMap["policy"] = wa.Policy + } + if wa.Name != nil { + objectMap["name"] = wa.Name + } + if wa.Description != nil { + objectMap["description"] = wa.Description + } + if wa.DependsOn != nil { + objectMap["dependsOn"] = wa.DependsOn + } + if wa.UserProperties != nil { + objectMap["userProperties"] = wa.UserProperties + } + if wa.Type != "" { + objectMap["type"] = wa.Type + } + for k, v := range wa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsWebActivity() (*WebActivity, bool) { + return &wa, true +} + +// AsLookupActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &wa, true +} + +// AsWebHookActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsBasicActivity() (BasicActivity, bool) { + return &wa, true +} + +// UnmarshalJSON is the custom unmarshaler for WebActivity struct. +func (wa *WebActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var webActivityTypeProperties WebActivityTypeProperties + err = json.Unmarshal(*v, &webActivityTypeProperties) + if err != nil { + return err + } + wa.WebActivityTypeProperties = &webActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + wa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + wa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if wa.AdditionalProperties == nil { + wa.AdditionalProperties = make(map[string]interface{}) + } + wa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + wa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + wa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + wa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wa.Type = typeVar + } + } + } + + return nil +} + +// WebActivityAuthentication web activity authentication properties. +type WebActivityAuthentication struct { + // Type - Web activity authentication (Basic/ClientCertificate/MSI) + Type *string `json:"type,omitempty"` + // Pfx - Base64-encoded contents of a PFX file. + Pfx BasicSecretBase `json:"pfx,omitempty"` + // Username - Web activity authentication user name for basic authentication. + Username *string `json:"username,omitempty"` + // Password - Password for the PFX file or basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // Resource - Resource for which Azure Auth token will be requested when using MSI Authentication. + Resource *string `json:"resource,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for WebActivityAuthentication struct. +func (waa *WebActivityAuthentication) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + waa.Type = &typeVar + } + case "pfx": + if v != nil { + pfx, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + waa.Pfx = pfx + } + case "username": + if v != nil { + var username string + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + waa.Username = &username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + waa.Password = password + } + case "resource": + if v != nil { + var resource string + err = json.Unmarshal(*v, &resource) + if err != nil { + return err + } + waa.Resource = &resource + } + } + } + + return nil +} + +// WebActivityTypeProperties web activity type properties. +type WebActivityTypeProperties struct { + // Method - Rest API method for target endpoint. Possible values include: 'WebActivityMethodGET', 'WebActivityMethodPOST', 'WebActivityMethodPUT', 'WebActivityMethodDELETE' + Method WebActivityMethod `json:"method,omitempty"` + // URL - Web activity target endpoint and path. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // 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). + Headers interface{} `json:"headers,omitempty"` + // 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). + Body interface{} `json:"body,omitempty"` + // Authentication - Authentication method used for calling the endpoint. + Authentication *WebActivityAuthentication `json:"authentication,omitempty"` + // Datasets - List of datasets passed to web endpoint. + Datasets *[]DatasetReference `json:"datasets,omitempty"` + // LinkedServices - List of linked services passed to web endpoint. + LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` +} + +// WebAnonymousAuthentication a WebLinkedService that uses anonymous authentication to communicate with an +// HTTP endpoint. +type WebAnonymousAuthentication struct { + // URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebAnonymousAuthentication. +func (waa WebAnonymousAuthentication) MarshalJSON() ([]byte, error) { + waa.AuthenticationType = AuthenticationTypeAnonymous + objectMap := make(map[string]interface{}) + if waa.URL != nil { + objectMap["url"] = waa.URL + } + if waa.AuthenticationType != "" { + objectMap["authenticationType"] = waa.AuthenticationType + } + return json.Marshal(objectMap) +} + +// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication. +func (waa WebAnonymousAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) { + return nil, false +} + +// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication. +func (waa WebAnonymousAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) { + return nil, false +} + +// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication. +func (waa WebAnonymousAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) { + return &waa, true +} + +// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication. +func (waa WebAnonymousAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) { + return nil, false +} + +// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication. +func (waa WebAnonymousAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) { + return &waa, true +} + +// WebBasicAuthentication a WebLinkedService that uses basic authentication to communicate with an HTTP +// endpoint. +type WebBasicAuthentication struct { + // Username - User name for Basic authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - The password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebBasicAuthentication. +func (wba WebBasicAuthentication) MarshalJSON() ([]byte, error) { + wba.AuthenticationType = AuthenticationTypeBasic + objectMap := make(map[string]interface{}) + if wba.Username != nil { + objectMap["username"] = wba.Username + } + objectMap["password"] = wba.Password + if wba.URL != nil { + objectMap["url"] = wba.URL + } + if wba.AuthenticationType != "" { + objectMap["authenticationType"] = wba.AuthenticationType + } + return json.Marshal(objectMap) +} + +// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication. +func (wba WebBasicAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) { + return nil, false +} + +// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication. +func (wba WebBasicAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) { + return &wba, true +} + +// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication. +func (wba WebBasicAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) { + return nil, false +} + +// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication. +func (wba WebBasicAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) { + return nil, false +} + +// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication. +func (wba WebBasicAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) { + return &wba, true +} + +// UnmarshalJSON is the custom unmarshaler for WebBasicAuthentication struct. +func (wba *WebBasicAuthentication) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + wba.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + wba.Password = password + } + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + wba.URL = URL + } + case "authenticationType": + if v != nil { + var authenticationType AuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + wba.AuthenticationType = authenticationType + } + } + } + + return nil +} + +// WebClientCertificateAuthentication a WebLinkedService that uses client certificate based authentication +// to communicate with an HTTP endpoint. This scheme follows mutual authentication; the server must also +// provide valid credentials to the client. +type WebClientCertificateAuthentication struct { + // Pfx - Base64-encoded contents of a PFX file. + Pfx BasicSecretBase `json:"pfx,omitempty"` + // Password - Password for the PFX file. + Password BasicSecretBase `json:"password,omitempty"` + // URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebClientCertificateAuthentication. +func (wcca WebClientCertificateAuthentication) MarshalJSON() ([]byte, error) { + wcca.AuthenticationType = AuthenticationTypeClientCertificate + objectMap := make(map[string]interface{}) + objectMap["pfx"] = wcca.Pfx + objectMap["password"] = wcca.Password + if wcca.URL != nil { + objectMap["url"] = wcca.URL + } + if wcca.AuthenticationType != "" { + objectMap["authenticationType"] = wcca.AuthenticationType + } + return json.Marshal(objectMap) +} + +// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication. +func (wcca WebClientCertificateAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) { + return &wcca, true +} + +// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication. +func (wcca WebClientCertificateAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) { + return nil, false +} + +// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication. +func (wcca WebClientCertificateAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) { + return nil, false +} + +// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication. +func (wcca WebClientCertificateAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) { + return nil, false +} + +// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication. +func (wcca WebClientCertificateAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) { + return &wcca, true +} + +// UnmarshalJSON is the custom unmarshaler for WebClientCertificateAuthentication struct. +func (wcca *WebClientCertificateAuthentication) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "pfx": + if v != nil { + pfx, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + wcca.Pfx = pfx + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + wcca.Password = password + } + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + wcca.URL = URL + } + case "authenticationType": + if v != nil { + var authenticationType AuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + wcca.AuthenticationType = authenticationType + } + } + } + + return nil +} + +// WebHookActivity webHook activity. +type WebHookActivity struct { + // WebHookActivityTypeProperties - WebHook activity properties. + *WebHookActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', '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' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebHookActivity. +func (wha WebHookActivity) MarshalJSON() ([]byte, error) { + wha.Type = TypeWebHook + objectMap := make(map[string]interface{}) + if wha.WebHookActivityTypeProperties != nil { + objectMap["typeProperties"] = wha.WebHookActivityTypeProperties + } + if wha.Name != nil { + objectMap["name"] = wha.Name + } + if wha.Description != nil { + objectMap["description"] = wha.Description + } + if wha.DependsOn != nil { + objectMap["dependsOn"] = wha.DependsOn + } + if wha.UserProperties != nil { + objectMap["userProperties"] = wha.UserProperties + } + if wha.Type != "" { + objectMap["type"] = wha.Type + } + for k, v := range wha.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return &wha, true +} + +// AsAppendVariableActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &wha, true +} + +// AsActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsBasicActivity() (BasicActivity, bool) { + return &wha, true +} + +// UnmarshalJSON is the custom unmarshaler for WebHookActivity struct. +func (wha *WebHookActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var webHookActivityTypeProperties WebHookActivityTypeProperties + err = json.Unmarshal(*v, &webHookActivityTypeProperties) + if err != nil { + return err + } + wha.WebHookActivityTypeProperties = &webHookActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if wha.AdditionalProperties == nil { + wha.AdditionalProperties = make(map[string]interface{}) + } + wha.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wha.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + wha.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + wha.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + wha.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wha.Type = typeVar + } + } + } + + return nil +} + +// WebHookActivityTypeProperties webHook activity type properties. +type WebHookActivityTypeProperties struct { + // Method - Rest API method for target endpoint. + Method *string `json:"method,omitempty"` + // URL - WebHook activity target endpoint and path. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // 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])). + Timeout *string `json:"timeout,omitempty"` + // 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). + Headers interface{} `json:"headers,omitempty"` + // 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). + Body interface{} `json:"body,omitempty"` + // Authentication - Authentication method used for calling the endpoint. + Authentication *WebActivityAuthentication `json:"authentication,omitempty"` + // 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). + ReportStatusOnCallBack interface{} `json:"reportStatusOnCallBack,omitempty"` +} + +// WebLinkedService web linked service. +type WebLinkedService struct { + // TypeProperties - Web linked service properties. + TypeProperties BasicWebLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebLinkedService. +func (wls WebLinkedService) MarshalJSON() ([]byte, error) { + wls.Type = TypeWeb + objectMap := make(map[string]interface{}) + objectMap["typeProperties"] = wls.TypeProperties + if wls.ConnectVia != nil { + objectMap["connectVia"] = wls.ConnectVia + } + if wls.Description != nil { + objectMap["description"] = wls.Description + } + if wls.Parameters != nil { + objectMap["parameters"] = wls.Parameters + } + if wls.Annotations != nil { + objectMap["annotations"] = wls.Annotations + } + if wls.Type != "" { + objectMap["type"] = wls.Type + } + for k, v := range wls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return &wls, true +} + +// AsODataLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &wls, true +} + +// UnmarshalJSON is the custom unmarshaler for WebLinkedService struct. +func (wls *WebLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + typeProperties, err := unmarshalBasicWebLinkedServiceTypeProperties(*v) + if err != nil { + return err + } + wls.TypeProperties = typeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if wls.AdditionalProperties == nil { + wls.AdditionalProperties = make(map[string]interface{}) + } + wls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + wls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + wls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + wls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + wls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wls.Type = typeVar + } + } + } + + return nil +} + +// BasicWebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is +// polymorphic based on authenticationType, so not flattened in SDK models. +type BasicWebLinkedServiceTypeProperties interface { + AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) + AsWebBasicAuthentication() (*WebBasicAuthentication, bool) + AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) + AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) +} + +// WebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is +// polymorphic based on authenticationType, so not flattened in SDK models. +type WebLinkedServiceTypeProperties struct { + // URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +} + +func unmarshalBasicWebLinkedServiceTypeProperties(body []byte) (BasicWebLinkedServiceTypeProperties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["authenticationType"] { + case string(AuthenticationTypeClientCertificate): + var wcca WebClientCertificateAuthentication + err := json.Unmarshal(body, &wcca) + return wcca, err + case string(AuthenticationTypeBasic): + var wba WebBasicAuthentication + err := json.Unmarshal(body, &wba) + return wba, err + case string(AuthenticationTypeAnonymous): + var waa WebAnonymousAuthentication + err := json.Unmarshal(body, &waa) + return waa, err + default: + var wlstp WebLinkedServiceTypeProperties + err := json.Unmarshal(body, &wlstp) + return wlstp, err + } +} +func unmarshalBasicWebLinkedServiceTypePropertiesArray(body []byte) ([]BasicWebLinkedServiceTypeProperties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + wlstpArray := make([]BasicWebLinkedServiceTypeProperties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + wlstp, err := unmarshalBasicWebLinkedServiceTypeProperties(*rawMessage) + if err != nil { + return nil, err + } + wlstpArray[index] = wlstp + } + return wlstpArray, nil +} + +// MarshalJSON is the custom marshaler for WebLinkedServiceTypeProperties. +func (wlstp WebLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) { + wlstp.AuthenticationType = AuthenticationTypeWebLinkedServiceTypeProperties + objectMap := make(map[string]interface{}) + if wlstp.URL != nil { + objectMap["url"] = wlstp.URL + } + if wlstp.AuthenticationType != "" { + objectMap["authenticationType"] = wlstp.AuthenticationType + } + return json.Marshal(objectMap) +} + +// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties. +func (wlstp WebLinkedServiceTypeProperties) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) { + return nil, false +} + +// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties. +func (wlstp WebLinkedServiceTypeProperties) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) { + return nil, false +} + +// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties. +func (wlstp WebLinkedServiceTypeProperties) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) { + return nil, false +} + +// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties. +func (wlstp WebLinkedServiceTypeProperties) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) { + return &wlstp, true +} + +// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties. +func (wlstp WebLinkedServiceTypeProperties) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) { + return &wlstp, true +} + +// WebSource a copy activity source for web page table. +type WebSource struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebSource. +func (ws WebSource) MarshalJSON() ([]byte, error) { + ws.Type = TypeWebSource + objectMap := make(map[string]interface{}) + if ws.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ws.SourceRetryCount + } + if ws.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ws.SourceRetryWait + } + if ws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ws.MaxConcurrentConnections + } + if ws.Type != "" { + objectMap["type"] = ws.Type + } + for k, v := range ws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsWebSource() (*WebSource, bool) { + return &ws, true +} + +// AsOracleSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ws, true +} + +// UnmarshalJSON is the custom unmarshaler for WebSource struct. +func (ws *WebSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ws.AdditionalProperties == nil { + ws.AdditionalProperties = make(map[string]interface{}) + } + ws.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ws.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ws.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ws.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ws.Type = typeVar + } + } + } + + return nil +} + +// WebTableDataset the dataset points to a HTML table in the web page. +type WebTableDataset struct { + // WebTableDatasetTypeProperties - Web table dataset properties. + *WebTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebTableDataset. +func (wtd WebTableDataset) MarshalJSON() ([]byte, error) { + wtd.Type = TypeWebTable + objectMap := make(map[string]interface{}) + if wtd.WebTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = wtd.WebTableDatasetTypeProperties + } + if wtd.Description != nil { + objectMap["description"] = wtd.Description + } + if wtd.Structure != nil { + objectMap["structure"] = wtd.Structure + } + if wtd.Schema != nil { + objectMap["schema"] = wtd.Schema + } + if wtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = wtd.LinkedServiceName + } + if wtd.Parameters != nil { + objectMap["parameters"] = wtd.Parameters + } + if wtd.Annotations != nil { + objectMap["annotations"] = wtd.Annotations + } + if wtd.Folder != nil { + objectMap["folder"] = wtd.Folder + } + if wtd.Type != "" { + objectMap["type"] = wtd.Type + } + for k, v := range wtd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return &wtd, true +} + +// AsSapTableResourceDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &wtd, true +} + +// UnmarshalJSON is the custom unmarshaler for WebTableDataset struct. +func (wtd *WebTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var webTableDatasetTypeProperties WebTableDatasetTypeProperties + err = json.Unmarshal(*v, &webTableDatasetTypeProperties) + if err != nil { + return err + } + wtd.WebTableDatasetTypeProperties = &webTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if wtd.AdditionalProperties == nil { + wtd.AdditionalProperties = make(map[string]interface{}) + } + wtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + wtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + wtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + wtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + wtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + wtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + wtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + wtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wtd.Type = typeVar + } + } + } + + return nil +} + +// WebTableDatasetTypeProperties web table dataset properties. +type WebTableDatasetTypeProperties struct { + // Index - The zero-based index of the table in the web page. Type: integer (or Expression with resultType integer), minimum: 0. + Index interface{} `json:"index,omitempty"` + // Path - The relative URL to the web page from the linked service URL. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// Workspace workspace resource type. +type Workspace struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Identity - Managed service identity of the workspace. + Identity *WorkspaceIdentity `json:"identity,omitempty"` + // WorkspaceProperties - Properties of the workspace. + *WorkspaceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // ETag - READ-ONLY; Etag identifies change in the resource. + ETag *string `json:"eTag,omitempty"` +} + +// MarshalJSON is the custom marshaler for Workspace. +func (w Workspace) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if w.Identity != nil { + objectMap["identity"] = w.Identity + } + if w.WorkspaceProperties != nil { + objectMap["properties"] = w.WorkspaceProperties + } + if w.Location != nil { + objectMap["location"] = w.Location + } + if w.Tags != nil { + objectMap["tags"] = w.Tags + } + for k, v := range w.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Workspace struct. +func (w *Workspace) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if w.AdditionalProperties == nil { + w.AdditionalProperties = make(map[string]interface{}) + } + w.AdditionalProperties[k] = additionalProperties + } + case "identity": + if v != nil { + var identity WorkspaceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + w.Identity = &identity + } + case "properties": + if v != nil { + var workspaceProperties WorkspaceProperties + err = json.Unmarshal(*v, &workspaceProperties) + if err != nil { + return err + } + w.WorkspaceProperties = &workspaceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + w.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + w.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + w.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + w.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + w.Tags = tags + } + case "eTag": + if v != nil { + var eTag string + err = json.Unmarshal(*v, &eTag) + if err != nil { + return err + } + w.ETag = &eTag + } + } + } + + return nil +} + +// WorkspaceIdentity identity properties of the workspace resource. +type WorkspaceIdentity struct { + // Type - The identity type. Currently the only supported type is 'SystemAssigned'. + Type *string `json:"type,omitempty"` + // PrincipalID - READ-ONLY; The principal id of the identity. + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The client tenant id of the identity. + TenantID *string `json:"tenantId,omitempty"` +} + +// WorkspaceProperties workspace resource properties. +type WorkspaceProperties struct { + // ProvisioningState - READ-ONLY; Workspace provisioning state, example Succeeded. + ProvisioningState *string `json:"provisioningState,omitempty"` + // CreateTime - READ-ONLY; Time the workspace was created in ISO8601 format. + CreateTime *date.Time `json:"createTime,omitempty"` + // Version - READ-ONLY; Version of the workspace. + Version *string `json:"version,omitempty"` + // DefaultStorage - Linked service reference. + DefaultStorage *LinkedServiceReference `json:"defaultStorage,omitempty"` + // DefaultSQLServer - Linked service reference. + DefaultSQLServer *LinkedServiceReference `json:"defaultSqlServer,omitempty"` +} + +// WorkspaceUpdateParameters parameters for updating a workspace resource. +type WorkspaceUpdateParameters struct { + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // Identity - Managed service identity of the workspace. + Identity *WorkspaceIdentity `json:"identity,omitempty"` +} + +// MarshalJSON is the custom marshaler for WorkspaceUpdateParameters. +func (wup WorkspaceUpdateParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wup.Tags != nil { + objectMap["tags"] = wup.Tags + } + if wup.Identity != nil { + objectMap["identity"] = wup.Identity + } + return json.Marshal(objectMap) +} + +// XeroLinkedService xero Service linked service. +type XeroLinkedService struct { + // XeroLinkedServiceTypeProperties - Xero Service linked service properties. + *XeroLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for XeroLinkedService. +func (xls XeroLinkedService) MarshalJSON() ([]byte, error) { + xls.Type = TypeXero + objectMap := make(map[string]interface{}) + if xls.XeroLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = xls.XeroLinkedServiceTypeProperties + } + if xls.ConnectVia != nil { + objectMap["connectVia"] = xls.ConnectVia + } + if xls.Description != nil { + objectMap["description"] = xls.Description + } + if xls.Parameters != nil { + objectMap["parameters"] = xls.Parameters + } + if xls.Annotations != nil { + objectMap["annotations"] = xls.Annotations + } + if xls.Type != "" { + objectMap["type"] = xls.Type + } + for k, v := range xls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return &xls, true +} + +// AsSquareLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &xls, true +} + +// UnmarshalJSON is the custom unmarshaler for XeroLinkedService struct. +func (xls *XeroLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var xeroLinkedServiceTypeProperties XeroLinkedServiceTypeProperties + err = json.Unmarshal(*v, &xeroLinkedServiceTypeProperties) + if err != nil { + return err + } + xls.XeroLinkedServiceTypeProperties = &xeroLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if xls.AdditionalProperties == nil { + xls.AdditionalProperties = make(map[string]interface{}) + } + xls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + xls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + xls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + xls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + xls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + xls.Type = typeVar + } + } + } + + return nil +} + +// XeroLinkedServiceTypeProperties xero Service linked service properties. +type XeroLinkedServiceTypeProperties struct { + // Host - The endpoint of the Xero server. (i.e. api.xero.com) + Host interface{} `json:"host,omitempty"` + // ConsumerKey - The consumer key associated with the Xero application. + ConsumerKey BasicSecretBase `json:"consumerKey,omitempty"` + // 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( + // ). + PrivateKey BasicSecretBase `json:"privateKey,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for XeroLinkedServiceTypeProperties struct. +func (xlstp *XeroLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + xlstp.Host = host + } + case "consumerKey": + if v != nil { + consumerKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + xlstp.ConsumerKey = consumerKey + } + case "privateKey": + if v != nil { + privateKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + xlstp.PrivateKey = privateKey + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + xlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + xlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + xlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + xlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// XeroObjectDataset xero Service dataset. +type XeroObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for XeroObjectDataset. +func (xod XeroObjectDataset) MarshalJSON() ([]byte, error) { + xod.Type = TypeXeroObject + objectMap := make(map[string]interface{}) + if xod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = xod.GenericDatasetTypeProperties + } + if xod.Description != nil { + objectMap["description"] = xod.Description + } + if xod.Structure != nil { + objectMap["structure"] = xod.Structure + } + if xod.Schema != nil { + objectMap["schema"] = xod.Schema + } + if xod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = xod.LinkedServiceName + } + if xod.Parameters != nil { + objectMap["parameters"] = xod.Parameters + } + if xod.Annotations != nil { + objectMap["annotations"] = xod.Annotations + } + if xod.Folder != nil { + objectMap["folder"] = xod.Folder + } + if xod.Type != "" { + objectMap["type"] = xod.Type + } + for k, v := range xod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return &xod, true +} + +// AsSquareObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &xod, true +} + +// UnmarshalJSON is the custom unmarshaler for XeroObjectDataset struct. +func (xod *XeroObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + xod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if xod.AdditionalProperties == nil { + xod.AdditionalProperties = make(map[string]interface{}) + } + xod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + xod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + xod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + xod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + xod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + xod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + xod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + xod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + xod.Type = typeVar + } + } + } + + return nil +} + +// XeroSource a copy activity Xero Service source. +type XeroSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for XeroSource. +func (xs XeroSource) MarshalJSON() ([]byte, error) { + xs.Type = TypeXeroSource + objectMap := make(map[string]interface{}) + if xs.Query != nil { + objectMap["query"] = xs.Query + } + if xs.QueryTimeout != nil { + objectMap["queryTimeout"] = xs.QueryTimeout + } + if xs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = xs.SourceRetryCount + } + if xs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = xs.SourceRetryWait + } + if xs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = xs.MaxConcurrentConnections + } + if xs.Type != "" { + objectMap["type"] = xs.Type + } + for k, v := range xs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsXeroSource() (*XeroSource, bool) { + return &xs, true +} + +// AsSquareSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &xs, true +} + +// AsBinarySource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsBasicCopySource() (BasicCopySource, bool) { + return &xs, true +} + +// UnmarshalJSON is the custom unmarshaler for XeroSource struct. +func (xs *XeroSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + xs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + xs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if xs.AdditionalProperties == nil { + xs.AdditionalProperties = make(map[string]interface{}) + } + xs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + xs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + xs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + xs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + xs.Type = typeVar + } + } + } + + return nil +} + +// ZohoLinkedService zoho server linked service. +type ZohoLinkedService struct { + // ZohoLinkedServiceTypeProperties - Zoho server linked service properties. + *ZohoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // 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' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ZohoLinkedService. +func (zls ZohoLinkedService) MarshalJSON() ([]byte, error) { + zls.Type = TypeZoho + objectMap := make(map[string]interface{}) + if zls.ZohoLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = zls.ZohoLinkedServiceTypeProperties + } + if zls.ConnectVia != nil { + objectMap["connectVia"] = zls.ConnectVia + } + if zls.Description != nil { + objectMap["description"] = zls.Description + } + if zls.Parameters != nil { + objectMap["parameters"] = zls.Parameters + } + if zls.Annotations != nil { + objectMap["annotations"] = zls.Annotations + } + if zls.Type != "" { + objectMap["type"] = zls.Type + } + for k, v := range zls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return &zls, true +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &zls, true +} + +// UnmarshalJSON is the custom unmarshaler for ZohoLinkedService struct. +func (zls *ZohoLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var zohoLinkedServiceTypeProperties ZohoLinkedServiceTypeProperties + err = json.Unmarshal(*v, &zohoLinkedServiceTypeProperties) + if err != nil { + return err + } + zls.ZohoLinkedServiceTypeProperties = &zohoLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if zls.AdditionalProperties == nil { + zls.AdditionalProperties = make(map[string]interface{}) + } + zls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + zls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + zls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + zls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + zls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + zls.Type = typeVar + } + } + } + + return nil +} + +// ZohoLinkedServiceTypeProperties zoho server linked service properties. +type ZohoLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private) + Endpoint interface{} `json:"endpoint,omitempty"` + // AccessToken - The access token for Zoho authentication. + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // 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. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ZohoLinkedServiceTypeProperties struct. +func (zlstp *ZohoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + zlstp.Endpoint = endpoint + } + case "accessToken": + if v != nil { + accessToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + zlstp.AccessToken = accessToken + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + zlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + zlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + zlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + zlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ZohoObjectDataset zoho server dataset. +type ZohoObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // 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' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ZohoObjectDataset. +func (zod ZohoObjectDataset) MarshalJSON() ([]byte, error) { + zod.Type = TypeZohoObject + objectMap := make(map[string]interface{}) + if zod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = zod.GenericDatasetTypeProperties + } + if zod.Description != nil { + objectMap["description"] = zod.Description + } + if zod.Structure != nil { + objectMap["structure"] = zod.Structure + } + if zod.Schema != nil { + objectMap["schema"] = zod.Schema + } + if zod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = zod.LinkedServiceName + } + if zod.Parameters != nil { + objectMap["parameters"] = zod.Parameters + } + if zod.Annotations != nil { + objectMap["annotations"] = zod.Annotations + } + if zod.Folder != nil { + objectMap["folder"] = zod.Folder + } + if zod.Type != "" { + objectMap["type"] = zod.Type + } + for k, v := range zod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return &zod, true +} + +// AsXeroObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &zod, true +} + +// UnmarshalJSON is the custom unmarshaler for ZohoObjectDataset struct. +func (zod *ZohoObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + zod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if zod.AdditionalProperties == nil { + zod.AdditionalProperties = make(map[string]interface{}) + } + zod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + zod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + zod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + zod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + zod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + zod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + zod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + zod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + zod.Type = typeVar + } + } + } + + return nil +} + +// ZohoSource a copy activity Zoho server source. +type ZohoSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // 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' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ZohoSource. +func (zs ZohoSource) MarshalJSON() ([]byte, error) { + zs.Type = TypeZohoSource + objectMap := make(map[string]interface{}) + if zs.Query != nil { + objectMap["query"] = zs.Query + } + if zs.QueryTimeout != nil { + objectMap["queryTimeout"] = zs.QueryTimeout + } + if zs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = zs.SourceRetryCount + } + if zs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = zs.SourceRetryWait + } + if zs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = zs.MaxConcurrentConnections + } + if zs.Type != "" { + objectMap["type"] = zs.Type + } + for k, v := range zs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsZohoSource() (*ZohoSource, bool) { + return &zs, true +} + +// AsXeroSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &zs, true +} + +// AsBinarySource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsBasicCopySource() (BasicCopySource, bool) { + return &zs, true +} + +// UnmarshalJSON is the custom unmarshaler for ZohoSource struct. +func (zs *ZohoSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + zs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + zs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if zs.AdditionalProperties == nil { + zs.AdditionalProperties = make(map[string]interface{}) + } + zs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + zs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + zs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + zs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + zs.Type = typeVar + } + } + } + + return nil +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/notebook.go b/services/preview/synapse/2019-06-01-preview/artifacts/notebook.go new file mode 100644 index 000000000000..09956e5a4419 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/notebook.go @@ -0,0 +1,529 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// NotebookClient is the client for the Notebook methods of the Artifacts service. +type NotebookClient struct { + BaseClient +} + +// NewNotebookClient creates an instance of the NotebookClient client. +func NewNotebookClient(endpoint string) NotebookClient { + return NotebookClient{New(endpoint)} +} + +// CreateOrUpdateNotebook creates or updates a Note Book. +// Parameters: +// notebookName - the notebook name. +// notebook - note book resource definition. +// ifMatch - eTag of the Note book entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client NotebookClient) CreateOrUpdateNotebook(ctx context.Context, notebookName string, notebook NotebookResource, ifMatch string) (result NotebookResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookClient.CreateOrUpdateNotebook") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: notebook, + Constraints: []validation.Constraint{{Target: "notebook.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "notebook.Properties.BigDataPool", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "notebook.Properties.BigDataPool.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.BigDataPool.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "notebook.Properties.SessionProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "notebook.Properties.SessionProperties.DriverMemory", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.SessionProperties.DriverCores", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.SessionProperties.ExecutorMemory", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.SessionProperties.ExecutorCores", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.SessionProperties.NumExecutors", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "notebook.Properties.Metadata", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "notebook.Properties.Metadata.Kernelspec", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "notebook.Properties.Metadata.Kernelspec.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.Metadata.Kernelspec.DisplayName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "notebook.Properties.Metadata.LanguageInfo", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "notebook.Properties.Metadata.LanguageInfo.Name", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "notebook.Properties.Nbformat", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.NbformatMinor", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "notebook.Properties.Cells", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.NotebookClient", "CreateOrUpdateNotebook", err.Error()) + } + + req, err := client.CreateOrUpdateNotebookPreparer(ctx, notebookName, notebook, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "CreateOrUpdateNotebook", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateNotebookSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "CreateOrUpdateNotebook", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateNotebookResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "CreateOrUpdateNotebook", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateNotebookPreparer prepares the CreateOrUpdateNotebook request. +func (client NotebookClient) CreateOrUpdateNotebookPreparer(ctx context.Context, notebookName string, notebook NotebookResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "notebookName": autorest.Encode("path", notebookName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/notebooks/{notebookName}", pathParameters), + autorest.WithJSON(notebook), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateNotebookSender sends the CreateOrUpdateNotebook request. The method will close the +// http.Response Body if it receives an error. +func (client NotebookClient) CreateOrUpdateNotebookSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateNotebookResponder handles the response to the CreateOrUpdateNotebook request. The method always +// closes the http.Response Body. +func (client NotebookClient) CreateOrUpdateNotebookResponder(resp *http.Response) (result NotebookResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteNotebook deletes a Note book. +// Parameters: +// notebookName - the notebook name. +func (client NotebookClient) DeleteNotebook(ctx context.Context, notebookName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookClient.DeleteNotebook") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteNotebookPreparer(ctx, notebookName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "DeleteNotebook", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteNotebookSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "DeleteNotebook", resp, "Failure sending request") + return + } + + result, err = client.DeleteNotebookResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "DeleteNotebook", resp, "Failure responding to request") + } + + return +} + +// DeleteNotebookPreparer prepares the DeleteNotebook request. +func (client NotebookClient) DeleteNotebookPreparer(ctx context.Context, notebookName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "notebookName": autorest.Encode("path", notebookName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/notebooks/{notebookName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteNotebookSender sends the DeleteNotebook request. The method will close the +// http.Response Body if it receives an error. +func (client NotebookClient) DeleteNotebookSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteNotebookResponder handles the response to the DeleteNotebook request. The method always +// closes the http.Response Body. +func (client NotebookClient) DeleteNotebookResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetNotebook gets a Note Book. +// Parameters: +// notebookName - the notebook name. +// ifNoneMatch - eTag of the Notebook entity. Should only be specified for get. If the ETag matches the +// existing entity tag, or if * was provided, then no content will be returned. +func (client NotebookClient) GetNotebook(ctx context.Context, notebookName string, ifNoneMatch string) (result NotebookResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookClient.GetNotebook") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetNotebookPreparer(ctx, notebookName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebook", nil, "Failure preparing request") + return + } + + resp, err := client.GetNotebookSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebook", resp, "Failure sending request") + return + } + + result, err = client.GetNotebookResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebook", resp, "Failure responding to request") + } + + return +} + +// GetNotebookPreparer prepares the GetNotebook request. +func (client NotebookClient) GetNotebookPreparer(ctx context.Context, notebookName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "notebookName": autorest.Encode("path", notebookName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/notebooks/{notebookName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNotebookSender sends the GetNotebook request. The method will close the +// http.Response Body if it receives an error. +func (client NotebookClient) GetNotebookSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetNotebookResponder handles the response to the GetNotebook request. The method always +// closes the http.Response Body. +func (client NotebookClient) GetNotebookResponder(resp *http.Response) (result NotebookResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotModified), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNotebooksByWorkspace lists Notebooks. +func (client NotebookClient) GetNotebooksByWorkspace(ctx context.Context) (result NotebookListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookClient.GetNotebooksByWorkspace") + defer func() { + sc := -1 + if result.nlr.Response.Response != nil { + sc = result.nlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getNotebooksByWorkspaceNextResults + req, err := client.GetNotebooksByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebooksByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetNotebooksByWorkspaceSender(req) + if err != nil { + result.nlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebooksByWorkspace", resp, "Failure sending request") + return + } + + result.nlr, err = client.GetNotebooksByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebooksByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetNotebooksByWorkspacePreparer prepares the GetNotebooksByWorkspace request. +func (client NotebookClient) GetNotebooksByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/notebooks"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNotebooksByWorkspaceSender sends the GetNotebooksByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client NotebookClient) GetNotebooksByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetNotebooksByWorkspaceResponder handles the response to the GetNotebooksByWorkspace request. The method always +// closes the http.Response Body. +func (client NotebookClient) GetNotebooksByWorkspaceResponder(resp *http.Response) (result NotebookListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getNotebooksByWorkspaceNextResults retrieves the next set of results, if any. +func (client NotebookClient) getNotebooksByWorkspaceNextResults(ctx context.Context, lastResults NotebookListResponse) (result NotebookListResponse, err error) { + req, err := lastResults.notebookListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.NotebookClient", "getNotebooksByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetNotebooksByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.NotebookClient", "getNotebooksByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetNotebooksByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "getNotebooksByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetNotebooksByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client NotebookClient) GetNotebooksByWorkspaceComplete(ctx context.Context) (result NotebookListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookClient.GetNotebooksByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetNotebooksByWorkspace(ctx) + return +} + +// GetNotebookSummaryByWorkSpace lists a summary of Notebooks. +func (client NotebookClient) GetNotebookSummaryByWorkSpace(ctx context.Context) (result NotebookListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookClient.GetNotebookSummaryByWorkSpace") + defer func() { + sc := -1 + if result.nlr.Response.Response != nil { + sc = result.nlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getNotebookSummaryByWorkSpaceNextResults + req, err := client.GetNotebookSummaryByWorkSpacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebookSummaryByWorkSpace", nil, "Failure preparing request") + return + } + + resp, err := client.GetNotebookSummaryByWorkSpaceSender(req) + if err != nil { + result.nlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebookSummaryByWorkSpace", resp, "Failure sending request") + return + } + + result.nlr, err = client.GetNotebookSummaryByWorkSpaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "GetNotebookSummaryByWorkSpace", resp, "Failure responding to request") + } + + return +} + +// GetNotebookSummaryByWorkSpacePreparer prepares the GetNotebookSummaryByWorkSpace request. +func (client NotebookClient) GetNotebookSummaryByWorkSpacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/notebooks/summary"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNotebookSummaryByWorkSpaceSender sends the GetNotebookSummaryByWorkSpace request. The method will close the +// http.Response Body if it receives an error. +func (client NotebookClient) GetNotebookSummaryByWorkSpaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetNotebookSummaryByWorkSpaceResponder handles the response to the GetNotebookSummaryByWorkSpace request. The method always +// closes the http.Response Body. +func (client NotebookClient) GetNotebookSummaryByWorkSpaceResponder(resp *http.Response) (result NotebookListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getNotebookSummaryByWorkSpaceNextResults retrieves the next set of results, if any. +func (client NotebookClient) getNotebookSummaryByWorkSpaceNextResults(ctx context.Context, lastResults NotebookListResponse) (result NotebookListResponse, err error) { + req, err := lastResults.notebookListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.NotebookClient", "getNotebookSummaryByWorkSpaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetNotebookSummaryByWorkSpaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.NotebookClient", "getNotebookSummaryByWorkSpaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetNotebookSummaryByWorkSpaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.NotebookClient", "getNotebookSummaryByWorkSpaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetNotebookSummaryByWorkSpaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client NotebookClient) GetNotebookSummaryByWorkSpaceComplete(ctx context.Context) (result NotebookListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NotebookClient.GetNotebookSummaryByWorkSpace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetNotebookSummaryByWorkSpace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/pipeline.go b/services/preview/synapse/2019-06-01-preview/artifacts/pipeline.go new file mode 100644 index 000000000000..bf254eda002d --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/pipeline.go @@ -0,0 +1,527 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PipelineClient is the client for the Pipeline methods of the Artifacts service. +type PipelineClient struct { + BaseClient +} + +// NewPipelineClient creates an instance of the PipelineClient client. +func NewPipelineClient(endpoint string) PipelineClient { + return PipelineClient{New(endpoint)} +} + +// CreateOrUpdatePipeline creates or updates a pipeline. +// Parameters: +// pipelineName - the pipeline name. +// pipeline - pipeline resource definition. +// ifMatch - eTag of the pipeline entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client PipelineClient) CreateOrUpdatePipeline(ctx context.Context, pipelineName string, pipeline PipelineResource, ifMatch string) (result PipelineResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineClient.CreateOrUpdatePipeline") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: pipelineName, + Constraints: []validation.Constraint{{Target: "pipelineName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "pipelineName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "pipelineName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}, + {TargetValue: pipeline, + Constraints: []validation.Constraint{{Target: "pipeline.Pipeline", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "pipeline.Pipeline.Concurrency", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "pipeline.Pipeline.Concurrency", Name: validation.InclusiveMinimum, Rule: int64(1), Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.PipelineClient", "CreateOrUpdatePipeline", err.Error()) + } + + req, err := client.CreateOrUpdatePipelinePreparer(ctx, pipelineName, pipeline, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "CreateOrUpdatePipeline", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdatePipelineSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "CreateOrUpdatePipeline", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdatePipelineResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "CreateOrUpdatePipeline", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePipelinePreparer prepares the CreateOrUpdatePipeline request. +func (client PipelineClient) CreateOrUpdatePipelinePreparer(ctx context.Context, pipelineName string, pipeline PipelineResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "pipelineName": autorest.Encode("path", pipelineName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/pipelines/{pipelineName}", pathParameters), + autorest.WithJSON(pipeline), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdatePipelineSender sends the CreateOrUpdatePipeline request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineClient) CreateOrUpdatePipelineSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdatePipelineResponder handles the response to the CreateOrUpdatePipeline request. The method always +// closes the http.Response Body. +func (client PipelineClient) CreateOrUpdatePipelineResponder(resp *http.Response) (result PipelineResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreatePipelineRun creates a run of a pipeline. +// Parameters: +// pipelineName - the pipeline name. +// referencePipelineRunID - the pipeline run identifier. If run ID is specified the parameters of the specified +// run will be used to create a new run. +// isRecovery - recovery mode flag. If recovery mode is set to true, the specified referenced pipeline run and +// the new run will be grouped under the same groupId. +// startActivityName - in recovery mode, the rerun will start from this activity. If not specified, all +// activities will run. +// parameters - parameters of the pipeline run. These parameters will be used only if the runId is not +// specified. +func (client PipelineClient) CreatePipelineRun(ctx context.Context, pipelineName string, referencePipelineRunID string, isRecovery *bool, startActivityName string, parameters map[string]interface{}) (result CreateRunResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineClient.CreatePipelineRun") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: pipelineName, + Constraints: []validation.Constraint{{Target: "pipelineName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "pipelineName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "pipelineName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.PipelineClient", "CreatePipelineRun", err.Error()) + } + + req, err := client.CreatePipelineRunPreparer(ctx, pipelineName, referencePipelineRunID, isRecovery, startActivityName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "CreatePipelineRun", nil, "Failure preparing request") + return + } + + resp, err := client.CreatePipelineRunSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "CreatePipelineRun", resp, "Failure sending request") + return + } + + result, err = client.CreatePipelineRunResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "CreatePipelineRun", resp, "Failure responding to request") + } + + return +} + +// CreatePipelineRunPreparer prepares the CreatePipelineRun request. +func (client PipelineClient) CreatePipelineRunPreparer(ctx context.Context, pipelineName string, referencePipelineRunID string, isRecovery *bool, startActivityName string, parameters map[string]interface{}) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "pipelineName": autorest.Encode("path", pipelineName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(referencePipelineRunID) > 0 { + queryParameters["referencePipelineRunId"] = autorest.Encode("query", referencePipelineRunID) + } + if isRecovery != nil { + queryParameters["isRecovery"] = autorest.Encode("query", *isRecovery) + } + if len(startActivityName) > 0 { + queryParameters["startActivityName"] = autorest.Encode("query", startActivityName) + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/pipelines/{pipelineName}/createRun", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if parameters != nil && len(parameters) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(parameters)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreatePipelineRunSender sends the CreatePipelineRun request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineClient) CreatePipelineRunSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreatePipelineRunResponder handles the response to the CreatePipelineRun request. The method always +// closes the http.Response Body. +func (client PipelineClient) CreatePipelineRunResponder(resp *http.Response) (result CreateRunResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeletePipeline deletes a pipeline. +// Parameters: +// pipelineName - the pipeline name. +func (client PipelineClient) DeletePipeline(ctx context.Context, pipelineName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineClient.DeletePipeline") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: pipelineName, + Constraints: []validation.Constraint{{Target: "pipelineName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "pipelineName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "pipelineName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.PipelineClient", "DeletePipeline", err.Error()) + } + + req, err := client.DeletePipelinePreparer(ctx, pipelineName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "DeletePipeline", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePipelineSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "DeletePipeline", resp, "Failure sending request") + return + } + + result, err = client.DeletePipelineResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "DeletePipeline", resp, "Failure responding to request") + } + + return +} + +// DeletePipelinePreparer prepares the DeletePipeline request. +func (client PipelineClient) DeletePipelinePreparer(ctx context.Context, pipelineName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "pipelineName": autorest.Encode("path", pipelineName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/pipelines/{pipelineName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePipelineSender sends the DeletePipeline request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineClient) DeletePipelineSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeletePipelineResponder handles the response to the DeletePipeline request. The method always +// closes the http.Response Body. +func (client PipelineClient) DeletePipelineResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetPipeline gets a pipeline. +// Parameters: +// pipelineName - the pipeline name. +// ifNoneMatch - eTag of the pipeline entity. Should only be specified for get. If the ETag matches the +// existing entity tag, or if * was provided, then no content will be returned. +func (client PipelineClient) GetPipeline(ctx context.Context, pipelineName string, ifNoneMatch string) (result PipelineResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineClient.GetPipeline") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: pipelineName, + Constraints: []validation.Constraint{{Target: "pipelineName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "pipelineName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "pipelineName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.PipelineClient", "GetPipeline", err.Error()) + } + + req, err := client.GetPipelinePreparer(ctx, pipelineName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "GetPipeline", nil, "Failure preparing request") + return + } + + resp, err := client.GetPipelineSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "GetPipeline", resp, "Failure sending request") + return + } + + result, err = client.GetPipelineResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "GetPipeline", resp, "Failure responding to request") + } + + return +} + +// GetPipelinePreparer prepares the GetPipeline request. +func (client PipelineClient) GetPipelinePreparer(ctx context.Context, pipelineName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "pipelineName": autorest.Encode("path", pipelineName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/pipelines/{pipelineName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPipelineSender sends the GetPipeline request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineClient) GetPipelineSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetPipelineResponder handles the response to the GetPipeline request. The method always +// closes the http.Response Body. +func (client PipelineClient) GetPipelineResponder(resp *http.Response) (result PipelineResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotModified), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPipelinesByWorkspace lists pipelines. +func (client PipelineClient) GetPipelinesByWorkspace(ctx context.Context) (result PipelineListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineClient.GetPipelinesByWorkspace") + defer func() { + sc := -1 + if result.plr.Response.Response != nil { + sc = result.plr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getPipelinesByWorkspaceNextResults + req, err := client.GetPipelinesByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "GetPipelinesByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetPipelinesByWorkspaceSender(req) + if err != nil { + result.plr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "GetPipelinesByWorkspace", resp, "Failure sending request") + return + } + + result.plr, err = client.GetPipelinesByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "GetPipelinesByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetPipelinesByWorkspacePreparer prepares the GetPipelinesByWorkspace request. +func (client PipelineClient) GetPipelinesByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/pipelines"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPipelinesByWorkspaceSender sends the GetPipelinesByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineClient) GetPipelinesByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetPipelinesByWorkspaceResponder handles the response to the GetPipelinesByWorkspace request. The method always +// closes the http.Response Body. +func (client PipelineClient) GetPipelinesByWorkspaceResponder(resp *http.Response) (result PipelineListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getPipelinesByWorkspaceNextResults retrieves the next set of results, if any. +func (client PipelineClient) getPipelinesByWorkspaceNextResults(ctx context.Context, lastResults PipelineListResponse) (result PipelineListResponse, err error) { + req, err := lastResults.pipelineListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.PipelineClient", "getPipelinesByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetPipelinesByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.PipelineClient", "getPipelinesByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetPipelinesByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineClient", "getPipelinesByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetPipelinesByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client PipelineClient) GetPipelinesByWorkspaceComplete(ctx context.Context) (result PipelineListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineClient.GetPipelinesByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetPipelinesByWorkspace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/pipelinerun.go b/services/preview/synapse/2019-06-01-preview/artifacts/pipelinerun.go new file mode 100644 index 000000000000..6f94ec10d21b --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/pipelinerun.go @@ -0,0 +1,369 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PipelineRunClient is the client for the PipelineRun methods of the Artifacts service. +type PipelineRunClient struct { + BaseClient +} + +// NewPipelineRunClient creates an instance of the PipelineRunClient client. +func NewPipelineRunClient(endpoint string) PipelineRunClient { + return PipelineRunClient{New(endpoint)} +} + +// CancelPipelineRun cancel a pipeline run by its run ID. +// Parameters: +// runID - the pipeline run identifier. +// isRecursive - if true, cancel all the Child pipelines that are triggered by the current pipeline. +func (client PipelineRunClient) CancelPipelineRun(ctx context.Context, runID string, isRecursive *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineRunClient.CancelPipelineRun") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelPipelineRunPreparer(ctx, runID, isRecursive) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "CancelPipelineRun", nil, "Failure preparing request") + return + } + + resp, err := client.CancelPipelineRunSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "CancelPipelineRun", resp, "Failure sending request") + return + } + + result, err = client.CancelPipelineRunResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "CancelPipelineRun", resp, "Failure responding to request") + } + + return +} + +// CancelPipelineRunPreparer prepares the CancelPipelineRun request. +func (client PipelineRunClient) CancelPipelineRunPreparer(ctx context.Context, runID string, isRecursive *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "runId": autorest.Encode("path", runID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if isRecursive != nil { + queryParameters["isRecursive"] = autorest.Encode("query", *isRecursive) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/pipelineruns/{runId}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelPipelineRunSender sends the CancelPipelineRun request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineRunClient) CancelPipelineRunSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CancelPipelineRunResponder handles the response to the CancelPipelineRun request. The method always +// closes the http.Response Body. +func (client PipelineRunClient) CancelPipelineRunResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetPipelineRun get a pipeline run by its run ID. +// Parameters: +// runID - the pipeline run identifier. +func (client PipelineRunClient) GetPipelineRun(ctx context.Context, runID string) (result PipelineRun, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineRunClient.GetPipelineRun") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPipelineRunPreparer(ctx, runID) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "GetPipelineRun", nil, "Failure preparing request") + return + } + + resp, err := client.GetPipelineRunSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "GetPipelineRun", resp, "Failure sending request") + return + } + + result, err = client.GetPipelineRunResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "GetPipelineRun", resp, "Failure responding to request") + } + + return +} + +// GetPipelineRunPreparer prepares the GetPipelineRun request. +func (client PipelineRunClient) GetPipelineRunPreparer(ctx context.Context, runID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "runId": autorest.Encode("path", runID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/pipelineruns/{runId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPipelineRunSender sends the GetPipelineRun request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineRunClient) GetPipelineRunSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetPipelineRunResponder handles the response to the GetPipelineRun request. The method always +// closes the http.Response Body. +func (client PipelineRunClient) GetPipelineRunResponder(resp *http.Response) (result PipelineRun, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QueryActivityRuns query activity runs based on input filter conditions. +// Parameters: +// pipelineName - the pipeline name. +// runID - the pipeline run identifier. +// filterParameters - parameters to filter the activity runs. +func (client PipelineRunClient) QueryActivityRuns(ctx context.Context, pipelineName string, runID string, filterParameters RunFilterParameters) (result ActivityRunsQueryResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineRunClient.QueryActivityRuns") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: pipelineName, + Constraints: []validation.Constraint{{Target: "pipelineName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "pipelineName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "pipelineName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}, + {TargetValue: filterParameters, + Constraints: []validation.Constraint{{Target: "filterParameters.LastUpdatedAfter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "filterParameters.LastUpdatedBefore", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.PipelineRunClient", "QueryActivityRuns", err.Error()) + } + + req, err := client.QueryActivityRunsPreparer(ctx, pipelineName, runID, filterParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "QueryActivityRuns", nil, "Failure preparing request") + return + } + + resp, err := client.QueryActivityRunsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "QueryActivityRuns", resp, "Failure sending request") + return + } + + result, err = client.QueryActivityRunsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "QueryActivityRuns", resp, "Failure responding to request") + } + + return +} + +// QueryActivityRunsPreparer prepares the QueryActivityRuns request. +func (client PipelineRunClient) QueryActivityRunsPreparer(ctx context.Context, pipelineName string, runID string, filterParameters RunFilterParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "pipelineName": autorest.Encode("path", pipelineName), + "runId": autorest.Encode("path", runID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/pipelines/{pipelineName}/pipelineruns/{runId}/queryActivityruns", pathParameters), + autorest.WithJSON(filterParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QueryActivityRunsSender sends the QueryActivityRuns request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineRunClient) QueryActivityRunsSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// QueryActivityRunsResponder handles the response to the QueryActivityRuns request. The method always +// closes the http.Response Body. +func (client PipelineRunClient) QueryActivityRunsResponder(resp *http.Response) (result ActivityRunsQueryResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QueryPipelineRunsByWorkspace query pipeline runs in the workspace based on input filter conditions. +// Parameters: +// filterParameters - parameters to filter the pipeline run. +func (client PipelineRunClient) QueryPipelineRunsByWorkspace(ctx context.Context, filterParameters RunFilterParameters) (result PipelineRunsQueryResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PipelineRunClient.QueryPipelineRunsByWorkspace") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: filterParameters, + Constraints: []validation.Constraint{{Target: "filterParameters.LastUpdatedAfter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "filterParameters.LastUpdatedBefore", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.PipelineRunClient", "QueryPipelineRunsByWorkspace", err.Error()) + } + + req, err := client.QueryPipelineRunsByWorkspacePreparer(ctx, filterParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "QueryPipelineRunsByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.QueryPipelineRunsByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "QueryPipelineRunsByWorkspace", resp, "Failure sending request") + return + } + + result, err = client.QueryPipelineRunsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.PipelineRunClient", "QueryPipelineRunsByWorkspace", resp, "Failure responding to request") + } + + return +} + +// QueryPipelineRunsByWorkspacePreparer prepares the QueryPipelineRunsByWorkspace request. +func (client PipelineRunClient) QueryPipelineRunsByWorkspacePreparer(ctx context.Context, filterParameters RunFilterParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/queryPipelineRuns"), + autorest.WithJSON(filterParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QueryPipelineRunsByWorkspaceSender sends the QueryPipelineRunsByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client PipelineRunClient) QueryPipelineRunsByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// QueryPipelineRunsByWorkspaceResponder handles the response to the QueryPipelineRunsByWorkspace request. The method always +// closes the http.Response Body. +func (client PipelineRunClient) QueryPipelineRunsByWorkspaceResponder(resp *http.Response) (result PipelineRunsQueryResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/sparkjobdefinition.go b/services/preview/synapse/2019-06-01-preview/artifacts/sparkjobdefinition.go new file mode 100644 index 000000000000..3055bc0d1e53 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/sparkjobdefinition.go @@ -0,0 +1,581 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SparkJobDefinitionClient is the client for the SparkJobDefinition methods of the Artifacts service. +type SparkJobDefinitionClient struct { + BaseClient +} + +// NewSparkJobDefinitionClient creates an instance of the SparkJobDefinitionClient client. +func NewSparkJobDefinitionClient(endpoint string) SparkJobDefinitionClient { + return SparkJobDefinitionClient{New(endpoint)} +} + +// CreateOrUpdateSparkJobDefinition creates or updates a Spark Job Definition. +// Parameters: +// sparkJobDefinitionName - the spark job definition name. +// sparkJobDefinition - spark Job Definition resource definition. +// ifMatch - eTag of the Spark Job Definition entity. Should only be specified for update, for which it should +// match existing entity or can be * for unconditional update. +func (client SparkJobDefinitionClient) CreateOrUpdateSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string, sparkJobDefinition SparkJobDefinitionResource, ifMatch string) (result SparkJobDefinitionResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionClient.CreateOrUpdateSparkJobDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: sparkJobDefinition, + Constraints: []validation.Constraint{{Target: "sparkJobDefinition.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "sparkJobDefinition.Properties.TargetBigDataPool", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "sparkJobDefinition.Properties.TargetBigDataPool.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinition.Properties.TargetBigDataPool.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "sparkJobDefinition.Properties.JobProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "sparkJobDefinition.Properties.JobProperties.File", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinition.Properties.JobProperties.DriverMemory", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinition.Properties.JobProperties.DriverCores", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinition.Properties.JobProperties.ExecutorMemory", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinition.Properties.JobProperties.ExecutorCores", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinition.Properties.JobProperties.NumExecutors", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.SparkJobDefinitionClient", "CreateOrUpdateSparkJobDefinition", err.Error()) + } + + req, err := client.CreateOrUpdateSparkJobDefinitionPreparer(ctx, sparkJobDefinitionName, sparkJobDefinition, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "CreateOrUpdateSparkJobDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSparkJobDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "CreateOrUpdateSparkJobDefinition", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateSparkJobDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "CreateOrUpdateSparkJobDefinition", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateSparkJobDefinitionPreparer prepares the CreateOrUpdateSparkJobDefinition request. +func (client SparkJobDefinitionClient) CreateOrUpdateSparkJobDefinitionPreparer(ctx context.Context, sparkJobDefinitionName string, sparkJobDefinition SparkJobDefinitionResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "sparkJobDefinitionName": autorest.Encode("path", sparkJobDefinitionName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/sparkJobDefinitions/{sparkJobDefinitionName}", pathParameters), + autorest.WithJSON(sparkJobDefinition), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSparkJobDefinitionSender sends the CreateOrUpdateSparkJobDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client SparkJobDefinitionClient) CreateOrUpdateSparkJobDefinitionSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateSparkJobDefinitionResponder handles the response to the CreateOrUpdateSparkJobDefinition request. The method always +// closes the http.Response Body. +func (client SparkJobDefinitionClient) CreateOrUpdateSparkJobDefinitionResponder(resp *http.Response) (result SparkJobDefinitionResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DebugSparkJobDefinition debug the spark job definition. +// Parameters: +// sparkJobDefinitionAzureResource - spark Job Definition resource definition. +func (client SparkJobDefinitionClient) DebugSparkJobDefinition(ctx context.Context, sparkJobDefinitionAzureResource SparkJobDefinitionResource) (result SparkJobDefinitionDebugSparkJobDefinitionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionClient.DebugSparkJobDefinition") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: sparkJobDefinitionAzureResource, + Constraints: []validation.Constraint{{Target: "sparkJobDefinitionAzureResource.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "sparkJobDefinitionAzureResource.Properties.TargetBigDataPool", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "sparkJobDefinitionAzureResource.Properties.TargetBigDataPool.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinitionAzureResource.Properties.TargetBigDataPool.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "sparkJobDefinitionAzureResource.Properties.JobProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "sparkJobDefinitionAzureResource.Properties.JobProperties.File", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinitionAzureResource.Properties.JobProperties.DriverMemory", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinitionAzureResource.Properties.JobProperties.DriverCores", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinitionAzureResource.Properties.JobProperties.ExecutorMemory", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinitionAzureResource.Properties.JobProperties.ExecutorCores", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkJobDefinitionAzureResource.Properties.JobProperties.NumExecutors", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.SparkJobDefinitionClient", "DebugSparkJobDefinition", err.Error()) + } + + req, err := client.DebugSparkJobDefinitionPreparer(ctx, sparkJobDefinitionAzureResource) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "DebugSparkJobDefinition", nil, "Failure preparing request") + return + } + + result, err = client.DebugSparkJobDefinitionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "DebugSparkJobDefinition", result.Response(), "Failure sending request") + return + } + + return +} + +// DebugSparkJobDefinitionPreparer prepares the DebugSparkJobDefinition request. +func (client SparkJobDefinitionClient) DebugSparkJobDefinitionPreparer(ctx context.Context, sparkJobDefinitionAzureResource SparkJobDefinitionResource) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/debugSparkJobDefinition"), + autorest.WithJSON(sparkJobDefinitionAzureResource), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DebugSparkJobDefinitionSender sends the DebugSparkJobDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client SparkJobDefinitionClient) DebugSparkJobDefinitionSender(req *http.Request) (future SparkJobDefinitionDebugSparkJobDefinitionFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DebugSparkJobDefinitionResponder handles the response to the DebugSparkJobDefinition request. The method always +// closes the http.Response Body. +func (client SparkJobDefinitionClient) DebugSparkJobDefinitionResponder(resp *http.Response) (result SparkBatchJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteSparkJobDefinition deletes a Spark Job Definition. +// Parameters: +// sparkJobDefinitionName - the spark job definition name. +func (client SparkJobDefinitionClient) DeleteSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionClient.DeleteSparkJobDefinition") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteSparkJobDefinitionPreparer(ctx, sparkJobDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "DeleteSparkJobDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSparkJobDefinitionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "DeleteSparkJobDefinition", resp, "Failure sending request") + return + } + + result, err = client.DeleteSparkJobDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "DeleteSparkJobDefinition", resp, "Failure responding to request") + } + + return +} + +// DeleteSparkJobDefinitionPreparer prepares the DeleteSparkJobDefinition request. +func (client SparkJobDefinitionClient) DeleteSparkJobDefinitionPreparer(ctx context.Context, sparkJobDefinitionName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "sparkJobDefinitionName": autorest.Encode("path", sparkJobDefinitionName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/sparkJobDefinitions/{sparkJobDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSparkJobDefinitionSender sends the DeleteSparkJobDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client SparkJobDefinitionClient) DeleteSparkJobDefinitionSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteSparkJobDefinitionResponder handles the response to the DeleteSparkJobDefinition request. The method always +// closes the http.Response Body. +func (client SparkJobDefinitionClient) DeleteSparkJobDefinitionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ExecuteSparkJobDefinition executes the spark job definition. +// Parameters: +// sparkJobDefinitionName - the spark job definition name. +func (client SparkJobDefinitionClient) ExecuteSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string) (result SparkJobDefinitionExecuteSparkJobDefinitionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionClient.ExecuteSparkJobDefinition") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ExecuteSparkJobDefinitionPreparer(ctx, sparkJobDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "ExecuteSparkJobDefinition", nil, "Failure preparing request") + return + } + + result, err = client.ExecuteSparkJobDefinitionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "ExecuteSparkJobDefinition", result.Response(), "Failure sending request") + return + } + + return +} + +// ExecuteSparkJobDefinitionPreparer prepares the ExecuteSparkJobDefinition request. +func (client SparkJobDefinitionClient) ExecuteSparkJobDefinitionPreparer(ctx context.Context, sparkJobDefinitionName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "sparkJobDefinitionName": autorest.Encode("path", sparkJobDefinitionName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/sparkJobDefinitions/{sparkJobDefinitionName}/execute", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExecuteSparkJobDefinitionSender sends the ExecuteSparkJobDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client SparkJobDefinitionClient) ExecuteSparkJobDefinitionSender(req *http.Request) (future SparkJobDefinitionExecuteSparkJobDefinitionFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ExecuteSparkJobDefinitionResponder handles the response to the ExecuteSparkJobDefinition request. The method always +// closes the http.Response Body. +func (client SparkJobDefinitionClient) ExecuteSparkJobDefinitionResponder(resp *http.Response) (result SparkBatchJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkJobDefinition gets a Spark Job Definition. +// Parameters: +// sparkJobDefinitionName - the spark job definition name. +// ifNoneMatch - eTag of the Spark Job Definition entity. Should only be specified for get. If the ETag matches +// the existing entity tag, or if * was provided, then no content will be returned. +func (client SparkJobDefinitionClient) GetSparkJobDefinition(ctx context.Context, sparkJobDefinitionName string, ifNoneMatch string) (result SparkJobDefinitionResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionClient.GetSparkJobDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSparkJobDefinitionPreparer(ctx, sparkJobDefinitionName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "GetSparkJobDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkJobDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "GetSparkJobDefinition", resp, "Failure sending request") + return + } + + result, err = client.GetSparkJobDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "GetSparkJobDefinition", resp, "Failure responding to request") + } + + return +} + +// GetSparkJobDefinitionPreparer prepares the GetSparkJobDefinition request. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionPreparer(ctx context.Context, sparkJobDefinitionName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "sparkJobDefinitionName": autorest.Encode("path", sparkJobDefinitionName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/sparkJobDefinitions/{sparkJobDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkJobDefinitionSender sends the GetSparkJobDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkJobDefinitionResponder handles the response to the GetSparkJobDefinition request. The method always +// closes the http.Response Body. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionResponder(resp *http.Response) (result SparkJobDefinitionResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotModified), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkJobDefinitionsByWorkspace lists spark job definitions. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionsByWorkspace(ctx context.Context) (result SparkJobDefinitionsListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionClient.GetSparkJobDefinitionsByWorkspace") + defer func() { + sc := -1 + if result.sjdlr.Response.Response != nil { + sc = result.sjdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getSparkJobDefinitionsByWorkspaceNextResults + req, err := client.GetSparkJobDefinitionsByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "GetSparkJobDefinitionsByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkJobDefinitionsByWorkspaceSender(req) + if err != nil { + result.sjdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "GetSparkJobDefinitionsByWorkspace", resp, "Failure sending request") + return + } + + result.sjdlr, err = client.GetSparkJobDefinitionsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "GetSparkJobDefinitionsByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetSparkJobDefinitionsByWorkspacePreparer prepares the GetSparkJobDefinitionsByWorkspace request. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionsByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/sparkJobDefinitions"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkJobDefinitionsByWorkspaceSender sends the GetSparkJobDefinitionsByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionsByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkJobDefinitionsByWorkspaceResponder handles the response to the GetSparkJobDefinitionsByWorkspace request. The method always +// closes the http.Response Body. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionsByWorkspaceResponder(resp *http.Response) (result SparkJobDefinitionsListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getSparkJobDefinitionsByWorkspaceNextResults retrieves the next set of results, if any. +func (client SparkJobDefinitionClient) getSparkJobDefinitionsByWorkspaceNextResults(ctx context.Context, lastResults SparkJobDefinitionsListResponse) (result SparkJobDefinitionsListResponse, err error) { + req, err := lastResults.sparkJobDefinitionsListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "getSparkJobDefinitionsByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetSparkJobDefinitionsByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "getSparkJobDefinitionsByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetSparkJobDefinitionsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionClient", "getSparkJobDefinitionsByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetSparkJobDefinitionsByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client SparkJobDefinitionClient) GetSparkJobDefinitionsByWorkspaceComplete(ctx context.Context) (result SparkJobDefinitionsListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionClient.GetSparkJobDefinitionsByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetSparkJobDefinitionsByWorkspace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/sqlscript.go b/services/preview/synapse/2019-06-01-preview/artifacts/sqlscript.go new file mode 100644 index 000000000000..ae305ae5ded9 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/sqlscript.go @@ -0,0 +1,403 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SQLScriptClient is the client for the SQLScript methods of the Artifacts service. +type SQLScriptClient struct { + BaseClient +} + +// NewSQLScriptClient creates an instance of the SQLScriptClient client. +func NewSQLScriptClient(endpoint string) SQLScriptClient { + return SQLScriptClient{New(endpoint)} +} + +// CreateOrUpdateSQLScript creates or updates a Sql Script. +// Parameters: +// SQLScriptName - the sql script name. +// SQLScript - sql Script resource definition. +// ifMatch - eTag of the SQL script entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client SQLScriptClient) CreateOrUpdateSQLScript(ctx context.Context, SQLScriptName string, SQLScript SQLScriptResource, ifMatch string) (result SQLScriptResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptClient.CreateOrUpdateSQLScript") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: SQLScript, + Constraints: []validation.Constraint{{Target: "SQLScript.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "SQLScript.Properties.Content", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "SQLScript.Properties.Content.Query", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "SQLScript.Properties.Content.CurrentConnection", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "SQLScript.Properties.Content.CurrentConnection.Name", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + }}}}}); err != nil { + return result, validation.NewError("artifacts.SQLScriptClient", "CreateOrUpdateSQLScript", err.Error()) + } + + req, err := client.CreateOrUpdateSQLScriptPreparer(ctx, SQLScriptName, SQLScript, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "CreateOrUpdateSQLScript", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSQLScriptSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "CreateOrUpdateSQLScript", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateSQLScriptResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "CreateOrUpdateSQLScript", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateSQLScriptPreparer prepares the CreateOrUpdateSQLScript request. +func (client SQLScriptClient) CreateOrUpdateSQLScriptPreparer(ctx context.Context, SQLScriptName string, SQLScript SQLScriptResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "sqlScriptName": autorest.Encode("path", SQLScriptName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/sqlScripts/{sqlScriptName}", pathParameters), + autorest.WithJSON(SQLScript), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSQLScriptSender sends the CreateOrUpdateSQLScript request. The method will close the +// http.Response Body if it receives an error. +func (client SQLScriptClient) CreateOrUpdateSQLScriptSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateSQLScriptResponder handles the response to the CreateOrUpdateSQLScript request. The method always +// closes the http.Response Body. +func (client SQLScriptClient) CreateOrUpdateSQLScriptResponder(resp *http.Response) (result SQLScriptResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteSQLScript deletes a Sql Script. +// Parameters: +// SQLScriptName - the sql script name. +func (client SQLScriptClient) DeleteSQLScript(ctx context.Context, SQLScriptName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptClient.DeleteSQLScript") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteSQLScriptPreparer(ctx, SQLScriptName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "DeleteSQLScript", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSQLScriptSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "DeleteSQLScript", resp, "Failure sending request") + return + } + + result, err = client.DeleteSQLScriptResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "DeleteSQLScript", resp, "Failure responding to request") + } + + return +} + +// DeleteSQLScriptPreparer prepares the DeleteSQLScript request. +func (client SQLScriptClient) DeleteSQLScriptPreparer(ctx context.Context, SQLScriptName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "sqlScriptName": autorest.Encode("path", SQLScriptName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/sqlScripts/{sqlScriptName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSQLScriptSender sends the DeleteSQLScript request. The method will close the +// http.Response Body if it receives an error. +func (client SQLScriptClient) DeleteSQLScriptSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteSQLScriptResponder handles the response to the DeleteSQLScript request. The method always +// closes the http.Response Body. +func (client SQLScriptClient) DeleteSQLScriptResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetSQLScript gets a sql script. +// Parameters: +// SQLScriptName - the sql script name. +// ifNoneMatch - eTag of the sql compute entity. Should only be specified for get. If the ETag matches the +// existing entity tag, or if * was provided, then no content will be returned. +func (client SQLScriptClient) GetSQLScript(ctx context.Context, SQLScriptName string, ifNoneMatch string) (result SQLScriptResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptClient.GetSQLScript") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSQLScriptPreparer(ctx, SQLScriptName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "GetSQLScript", nil, "Failure preparing request") + return + } + + resp, err := client.GetSQLScriptSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "GetSQLScript", resp, "Failure sending request") + return + } + + result, err = client.GetSQLScriptResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "GetSQLScript", resp, "Failure responding to request") + } + + return +} + +// GetSQLScriptPreparer prepares the GetSQLScript request. +func (client SQLScriptClient) GetSQLScriptPreparer(ctx context.Context, SQLScriptName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "sqlScriptName": autorest.Encode("path", SQLScriptName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/sqlScripts/{sqlScriptName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSQLScriptSender sends the GetSQLScript request. The method will close the +// http.Response Body if it receives an error. +func (client SQLScriptClient) GetSQLScriptSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSQLScriptResponder handles the response to the GetSQLScript request. The method always +// closes the http.Response Body. +func (client SQLScriptClient) GetSQLScriptResponder(resp *http.Response) (result SQLScriptResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotModified), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSQLScriptsByWorkspace lists sql scripts. +func (client SQLScriptClient) GetSQLScriptsByWorkspace(ctx context.Context) (result SQLScriptsListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptClient.GetSQLScriptsByWorkspace") + defer func() { + sc := -1 + if result.sslr.Response.Response != nil { + sc = result.sslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getSQLScriptsByWorkspaceNextResults + req, err := client.GetSQLScriptsByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "GetSQLScriptsByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetSQLScriptsByWorkspaceSender(req) + if err != nil { + result.sslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "GetSQLScriptsByWorkspace", resp, "Failure sending request") + return + } + + result.sslr, err = client.GetSQLScriptsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "GetSQLScriptsByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetSQLScriptsByWorkspacePreparer prepares the GetSQLScriptsByWorkspace request. +func (client SQLScriptClient) GetSQLScriptsByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/sqlScripts"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSQLScriptsByWorkspaceSender sends the GetSQLScriptsByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client SQLScriptClient) GetSQLScriptsByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSQLScriptsByWorkspaceResponder handles the response to the GetSQLScriptsByWorkspace request. The method always +// closes the http.Response Body. +func (client SQLScriptClient) GetSQLScriptsByWorkspaceResponder(resp *http.Response) (result SQLScriptsListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getSQLScriptsByWorkspaceNextResults retrieves the next set of results, if any. +func (client SQLScriptClient) getSQLScriptsByWorkspaceNextResults(ctx context.Context, lastResults SQLScriptsListResponse) (result SQLScriptsListResponse, err error) { + req, err := lastResults.sQLScriptsListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "getSQLScriptsByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetSQLScriptsByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "getSQLScriptsByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetSQLScriptsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.SQLScriptClient", "getSQLScriptsByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetSQLScriptsByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client SQLScriptClient) GetSQLScriptsByWorkspaceComplete(ctx context.Context) (result SQLScriptsListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptClient.GetSQLScriptsByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetSQLScriptsByWorkspace(ctx) + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/trigger.go b/services/preview/synapse/2019-06-01-preview/artifacts/trigger.go new file mode 100644 index 000000000000..92adb9339274 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/trigger.go @@ -0,0 +1,840 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TriggerClient is the client for the Trigger methods of the Artifacts service. +type TriggerClient struct { + BaseClient +} + +// NewTriggerClient creates an instance of the TriggerClient client. +func NewTriggerClient(endpoint string) TriggerClient { + return TriggerClient{New(endpoint)} +} + +// CreateOrUpdateTrigger creates or updates a trigger. +// Parameters: +// triggerName - the trigger name. +// trigger - trigger resource definition. +// ifMatch - eTag of the trigger entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client TriggerClient) CreateOrUpdateTrigger(ctx context.Context, triggerName string, trigger TriggerResource, ifMatch string) (result TriggerResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.CreateOrUpdateTrigger") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}, + {TargetValue: trigger, + Constraints: []validation.Constraint{{Target: "trigger.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "CreateOrUpdateTrigger", err.Error()) + } + + req, err := client.CreateOrUpdateTriggerPreparer(ctx, triggerName, trigger, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "CreateOrUpdateTrigger", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateTriggerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "CreateOrUpdateTrigger", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateTriggerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "CreateOrUpdateTrigger", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateTriggerPreparer prepares the CreateOrUpdateTrigger request. +func (client TriggerClient) CreateOrUpdateTriggerPreparer(ctx context.Context, triggerName string, trigger TriggerResource, ifMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}", pathParameters), + autorest.WithJSON(trigger), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateTriggerSender sends the CreateOrUpdateTrigger request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) CreateOrUpdateTriggerSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateTriggerResponder handles the response to the CreateOrUpdateTrigger request. The method always +// closes the http.Response Body. +func (client TriggerClient) CreateOrUpdateTriggerResponder(resp *http.Response) (result TriggerResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteTrigger deletes a trigger. +// Parameters: +// triggerName - the trigger name. +func (client TriggerClient) DeleteTrigger(ctx context.Context, triggerName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.DeleteTrigger") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "DeleteTrigger", err.Error()) + } + + req, err := client.DeleteTriggerPreparer(ctx, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "DeleteTrigger", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteTriggerSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "DeleteTrigger", resp, "Failure sending request") + return + } + + result, err = client.DeleteTriggerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "DeleteTrigger", resp, "Failure responding to request") + } + + return +} + +// DeleteTriggerPreparer prepares the DeleteTrigger request. +func (client TriggerClient) DeleteTriggerPreparer(ctx context.Context, triggerName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteTriggerSender sends the DeleteTrigger request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) DeleteTriggerSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteTriggerResponder handles the response to the DeleteTrigger request. The method always +// closes the http.Response Body. +func (client TriggerClient) DeleteTriggerResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetEventSubscriptionStatus get a trigger's event subscription status. +// Parameters: +// triggerName - the trigger name. +func (client TriggerClient) GetEventSubscriptionStatus(ctx context.Context, triggerName string) (result TriggerSubscriptionOperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.GetEventSubscriptionStatus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "GetEventSubscriptionStatus", err.Error()) + } + + req, err := client.GetEventSubscriptionStatusPreparer(ctx, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetEventSubscriptionStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetEventSubscriptionStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetEventSubscriptionStatus", resp, "Failure sending request") + return + } + + result, err = client.GetEventSubscriptionStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetEventSubscriptionStatus", resp, "Failure responding to request") + } + + return +} + +// GetEventSubscriptionStatusPreparer prepares the GetEventSubscriptionStatus request. +func (client TriggerClient) GetEventSubscriptionStatusPreparer(ctx context.Context, triggerName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}/getEventSubscriptionStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetEventSubscriptionStatusSender sends the GetEventSubscriptionStatus request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) GetEventSubscriptionStatusSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetEventSubscriptionStatusResponder handles the response to the GetEventSubscriptionStatus request. The method always +// closes the http.Response Body. +func (client TriggerClient) GetEventSubscriptionStatusResponder(resp *http.Response) (result TriggerSubscriptionOperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTrigger gets a trigger. +// Parameters: +// triggerName - the trigger name. +// ifNoneMatch - eTag of the trigger entity. Should only be specified for get. If the ETag matches the existing +// entity tag, or if * was provided, then no content will be returned. +func (client TriggerClient) GetTrigger(ctx context.Context, triggerName string, ifNoneMatch string) (result TriggerResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.GetTrigger") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "GetTrigger", err.Error()) + } + + req, err := client.GetTriggerPreparer(ctx, triggerName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetTrigger", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetTrigger", resp, "Failure sending request") + return + } + + result, err = client.GetTriggerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetTrigger", resp, "Failure responding to request") + } + + return +} + +// GetTriggerPreparer prepares the GetTrigger request. +func (client TriggerClient) GetTriggerPreparer(ctx context.Context, triggerName string, ifNoneMatch string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTriggerSender sends the GetTrigger request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) GetTriggerSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetTriggerResponder handles the response to the GetTrigger request. The method always +// closes the http.Response Body. +func (client TriggerClient) GetTriggerResponder(resp *http.Response) (result TriggerResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotModified), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggersByWorkspace lists triggers. +func (client TriggerClient) GetTriggersByWorkspace(ctx context.Context) (result TriggerListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.GetTriggersByWorkspace") + defer func() { + sc := -1 + if result.tlr.Response.Response != nil { + sc = result.tlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getTriggersByWorkspaceNextResults + req, err := client.GetTriggersByWorkspacePreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetTriggersByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggersByWorkspaceSender(req) + if err != nil { + result.tlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetTriggersByWorkspace", resp, "Failure sending request") + return + } + + result.tlr, err = client.GetTriggersByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "GetTriggersByWorkspace", resp, "Failure responding to request") + } + + return +} + +// GetTriggersByWorkspacePreparer prepares the GetTriggersByWorkspace request. +func (client TriggerClient) GetTriggersByWorkspacePreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/triggers"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTriggersByWorkspaceSender sends the GetTriggersByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) GetTriggersByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetTriggersByWorkspaceResponder handles the response to the GetTriggersByWorkspace request. The method always +// closes the http.Response Body. +func (client TriggerClient) GetTriggersByWorkspaceResponder(resp *http.Response) (result TriggerListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getTriggersByWorkspaceNextResults retrieves the next set of results, if any. +func (client TriggerClient) getTriggersByWorkspaceNextResults(ctx context.Context, lastResults TriggerListResponse) (result TriggerListResponse, err error) { + req, err := lastResults.triggerListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "artifacts.TriggerClient", "getTriggersByWorkspaceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetTriggersByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "artifacts.TriggerClient", "getTriggersByWorkspaceNextResults", resp, "Failure sending next results request") + } + result, err = client.GetTriggersByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "getTriggersByWorkspaceNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetTriggersByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. +func (client TriggerClient) GetTriggersByWorkspaceComplete(ctx context.Context) (result TriggerListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.GetTriggersByWorkspace") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetTriggersByWorkspace(ctx) + return +} + +// StartTrigger starts a trigger. +// Parameters: +// triggerName - the trigger name. +func (client TriggerClient) StartTrigger(ctx context.Context, triggerName string) (result TriggerStartTriggerFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.StartTrigger") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "StartTrigger", err.Error()) + } + + req, err := client.StartTriggerPreparer(ctx, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "StartTrigger", nil, "Failure preparing request") + return + } + + result, err = client.StartTriggerSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "StartTrigger", result.Response(), "Failure sending request") + return + } + + return +} + +// StartTriggerPreparer prepares the StartTrigger request. +func (client TriggerClient) StartTriggerPreparer(ctx context.Context, triggerName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartTriggerSender sends the StartTrigger request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) StartTriggerSender(req *http.Request) (future TriggerStartTriggerFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartTriggerResponder handles the response to the StartTrigger request. The method always +// closes the http.Response Body. +func (client TriggerClient) StartTriggerResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopTrigger stops a trigger. +// Parameters: +// triggerName - the trigger name. +func (client TriggerClient) StopTrigger(ctx context.Context, triggerName string) (result TriggerStopTriggerFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.StopTrigger") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "StopTrigger", err.Error()) + } + + req, err := client.StopTriggerPreparer(ctx, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "StopTrigger", nil, "Failure preparing request") + return + } + + result, err = client.StopTriggerSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "StopTrigger", result.Response(), "Failure sending request") + return + } + + return +} + +// StopTriggerPreparer prepares the StopTrigger request. +func (client TriggerClient) StopTriggerPreparer(ctx context.Context, triggerName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopTriggerSender sends the StopTrigger request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) StopTriggerSender(req *http.Request) (future TriggerStopTriggerFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopTriggerResponder handles the response to the StopTrigger request. The method always +// closes the http.Response Body. +func (client TriggerClient) StopTriggerResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// SubscribeTriggerToEvents subscribe event trigger to events. +// Parameters: +// triggerName - the trigger name. +func (client TriggerClient) SubscribeTriggerToEvents(ctx context.Context, triggerName string) (result TriggerSubscribeTriggerToEventsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.SubscribeTriggerToEvents") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "SubscribeTriggerToEvents", err.Error()) + } + + req, err := client.SubscribeTriggerToEventsPreparer(ctx, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "SubscribeTriggerToEvents", nil, "Failure preparing request") + return + } + + result, err = client.SubscribeTriggerToEventsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "SubscribeTriggerToEvents", result.Response(), "Failure sending request") + return + } + + return +} + +// SubscribeTriggerToEventsPreparer prepares the SubscribeTriggerToEvents request. +func (client TriggerClient) SubscribeTriggerToEventsPreparer(ctx context.Context, triggerName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}/subscribeToEvents", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SubscribeTriggerToEventsSender sends the SubscribeTriggerToEvents request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) SubscribeTriggerToEventsSender(req *http.Request) (future TriggerSubscribeTriggerToEventsFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SubscribeTriggerToEventsResponder handles the response to the SubscribeTriggerToEvents request. The method always +// closes the http.Response Body. +func (client TriggerClient) SubscribeTriggerToEventsResponder(resp *http.Response) (result TriggerSubscriptionOperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UnsubscribeTriggerFromEvents unsubscribe event trigger from events. +// Parameters: +// triggerName - the trigger name. +func (client TriggerClient) UnsubscribeTriggerFromEvents(ctx context.Context, triggerName string) (result TriggerUnsubscribeTriggerFromEventsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerClient.UnsubscribeTriggerFromEvents") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerClient", "UnsubscribeTriggerFromEvents", err.Error()) + } + + req, err := client.UnsubscribeTriggerFromEventsPreparer(ctx, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "UnsubscribeTriggerFromEvents", nil, "Failure preparing request") + return + } + + result, err = client.UnsubscribeTriggerFromEventsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerClient", "UnsubscribeTriggerFromEvents", result.Response(), "Failure sending request") + return + } + + return +} + +// UnsubscribeTriggerFromEventsPreparer prepares the UnsubscribeTriggerFromEvents request. +func (client TriggerClient) UnsubscribeTriggerFromEventsPreparer(ctx context.Context, triggerName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}/unsubscribeFromEvents", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UnsubscribeTriggerFromEventsSender sends the UnsubscribeTriggerFromEvents request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerClient) UnsubscribeTriggerFromEventsSender(req *http.Request) (future TriggerUnsubscribeTriggerFromEventsFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UnsubscribeTriggerFromEventsResponder handles the response to the UnsubscribeTriggerFromEvents request. The method always +// closes the http.Response Body. +func (client TriggerClient) UnsubscribeTriggerFromEventsResponder(resp *http.Response) (result TriggerSubscriptionOperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/triggerrun.go b/services/preview/synapse/2019-06-01-preview/artifacts/triggerrun.go new file mode 100644 index 000000000000..cb253e1d01d8 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/triggerrun.go @@ -0,0 +1,205 @@ +package artifacts + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TriggerRunClient is the client for the TriggerRun methods of the Artifacts service. +type TriggerRunClient struct { + BaseClient +} + +// NewTriggerRunClient creates an instance of the TriggerRunClient client. +func NewTriggerRunClient(endpoint string) TriggerRunClient { + return TriggerRunClient{New(endpoint)} +} + +// QueryTriggerRunsByWorkspace query trigger runs. +// Parameters: +// filterParameters - parameters to filter the pipeline run. +func (client TriggerRunClient) QueryTriggerRunsByWorkspace(ctx context.Context, filterParameters RunFilterParameters) (result TriggerRunsQueryResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerRunClient.QueryTriggerRunsByWorkspace") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: filterParameters, + Constraints: []validation.Constraint{{Target: "filterParameters.LastUpdatedAfter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "filterParameters.LastUpdatedBefore", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerRunClient", "QueryTriggerRunsByWorkspace", err.Error()) + } + + req, err := client.QueryTriggerRunsByWorkspacePreparer(ctx, filterParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerRunClient", "QueryTriggerRunsByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.QueryTriggerRunsByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "artifacts.TriggerRunClient", "QueryTriggerRunsByWorkspace", resp, "Failure sending request") + return + } + + result, err = client.QueryTriggerRunsByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerRunClient", "QueryTriggerRunsByWorkspace", resp, "Failure responding to request") + } + + return +} + +// QueryTriggerRunsByWorkspacePreparer prepares the QueryTriggerRunsByWorkspace request. +func (client TriggerRunClient) QueryTriggerRunsByWorkspacePreparer(ctx context.Context, filterParameters RunFilterParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/queryTriggerRuns"), + autorest.WithJSON(filterParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QueryTriggerRunsByWorkspaceSender sends the QueryTriggerRunsByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerRunClient) QueryTriggerRunsByWorkspaceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// QueryTriggerRunsByWorkspaceResponder handles the response to the QueryTriggerRunsByWorkspace request. The method always +// closes the http.Response Body. +func (client TriggerRunClient) QueryTriggerRunsByWorkspaceResponder(resp *http.Response) (result TriggerRunsQueryResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RerunTriggerInstance rerun single trigger instance by runId. +// Parameters: +// triggerName - the trigger name. +// runID - the pipeline run identifier. +func (client TriggerRunClient) RerunTriggerInstance(ctx context.Context, triggerName string, runID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerRunClient.RerunTriggerInstance") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("artifacts.TriggerRunClient", "RerunTriggerInstance", err.Error()) + } + + req, err := client.RerunTriggerInstancePreparer(ctx, triggerName, runID) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerRunClient", "RerunTriggerInstance", nil, "Failure preparing request") + return + } + + resp, err := client.RerunTriggerInstanceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "artifacts.TriggerRunClient", "RerunTriggerInstance", resp, "Failure sending request") + return + } + + result, err = client.RerunTriggerInstanceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "artifacts.TriggerRunClient", "RerunTriggerInstance", resp, "Failure responding to request") + } + + return +} + +// RerunTriggerInstancePreparer prepares the RerunTriggerInstance request. +func (client TriggerRunClient) RerunTriggerInstancePreparer(ctx context.Context, triggerName string, runID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "runId": autorest.Encode("path", runID), + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/triggers/{triggerName}/triggerRuns/{runId}/rerun", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RerunTriggerInstanceSender sends the RerunTriggerInstance request. The method will close the +// http.Response Body if it receives an error. +func (client TriggerRunClient) RerunTriggerInstanceSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// RerunTriggerInstanceResponder handles the response to the RerunTriggerInstance request. The method always +// closes the http.Response Body. +func (client TriggerRunClient) RerunTriggerInstanceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/synapse/2019-06-01-preview/artifacts/version.go b/services/preview/synapse/2019-06-01-preview/artifacts/version.go new file mode 100644 index 000000000000..0dbce52f6be8 --- /dev/null +++ b/services/preview/synapse/2019-06-01-preview/artifacts/version.go @@ -0,0 +1,30 @@ +package artifacts + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + Version() + " artifacts/2019-06-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/synapse/2019-11-01-preview/spark/batch.go b/services/preview/synapse/2019-11-01-preview/spark/batch.go new file mode 100644 index 000000000000..dbc54021d244 --- /dev/null +++ b/services/preview/synapse/2019-11-01-preview/spark/batch.go @@ -0,0 +1,358 @@ +package spark + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BatchClient is the client for the Batch methods of the Spark service. +type BatchClient struct { + BaseClient +} + +// NewBatchClient creates an instance of the BatchClient client. +func NewBatchClient(endpoint string, sparkPoolName string) BatchClient { + return BatchClient{New(endpoint, sparkPoolName)} +} + +// CancelSparkBatchJob cancels a running spark batch job. +// Parameters: +// batchID - identifier for the batch job. +func (client BatchClient) CancelSparkBatchJob(ctx context.Context, batchID int32) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BatchClient.CancelSparkBatchJob") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelSparkBatchJobPreparer(ctx, batchID) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "CancelSparkBatchJob", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSparkBatchJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "spark.BatchClient", "CancelSparkBatchJob", resp, "Failure sending request") + return + } + + result, err = client.CancelSparkBatchJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "CancelSparkBatchJob", resp, "Failure responding to request") + } + + return +} + +// CancelSparkBatchJobPreparer prepares the CancelSparkBatchJob request. +func (client BatchClient) CancelSparkBatchJobPreparer(ctx context.Context, batchID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "batchId": autorest.Encode("path", batchID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/batches/{batchId}", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelSparkBatchJobSender sends the CancelSparkBatchJob request. The method will close the +// http.Response Body if it receives an error. +func (client BatchClient) CancelSparkBatchJobSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CancelSparkBatchJobResponder handles the response to the CancelSparkBatchJob request. The method always +// closes the http.Response Body. +func (client BatchClient) CancelSparkBatchJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// CreateSparkBatchJob create new spark batch job. +// Parameters: +// sparkBatchJobOptions - livy compatible batch job request payload. +// detailed - optional query param specifying whether detailed response is returned beyond plain livy. +func (client BatchClient) CreateSparkBatchJob(ctx context.Context, sparkBatchJobOptions BatchJobOptions, detailed *bool) (result BatchJob, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BatchClient.CreateSparkBatchJob") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: sparkBatchJobOptions, + Constraints: []validation.Constraint{{Target: "sparkBatchJobOptions.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "sparkBatchJobOptions.File", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("spark.BatchClient", "CreateSparkBatchJob", err.Error()) + } + + req, err := client.CreateSparkBatchJobPreparer(ctx, sparkBatchJobOptions, detailed) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "CreateSparkBatchJob", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSparkBatchJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.BatchClient", "CreateSparkBatchJob", resp, "Failure sending request") + return + } + + result, err = client.CreateSparkBatchJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "CreateSparkBatchJob", resp, "Failure responding to request") + } + + return +} + +// CreateSparkBatchJobPreparer prepares the CreateSparkBatchJob request. +func (client BatchClient) CreateSparkBatchJobPreparer(ctx context.Context, sparkBatchJobOptions BatchJobOptions, detailed *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + queryParameters := map[string]interface{}{} + if detailed != nil { + queryParameters["detailed"] = autorest.Encode("query", *detailed) + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPath("/batches"), + autorest.WithJSON(sparkBatchJobOptions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSparkBatchJobSender sends the CreateSparkBatchJob request. The method will close the +// http.Response Body if it receives an error. +func (client BatchClient) CreateSparkBatchJobSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateSparkBatchJobResponder handles the response to the CreateSparkBatchJob request. The method always +// closes the http.Response Body. +func (client BatchClient) CreateSparkBatchJobResponder(resp *http.Response) (result BatchJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkBatchJob gets a single spark batch job. +// Parameters: +// batchID - identifier for the batch job. +// detailed - optional query param specifying whether detailed response is returned beyond plain livy. +func (client BatchClient) GetSparkBatchJob(ctx context.Context, batchID int32, detailed *bool) (result BatchJob, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BatchClient.GetSparkBatchJob") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSparkBatchJobPreparer(ctx, batchID, detailed) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "GetSparkBatchJob", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkBatchJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.BatchClient", "GetSparkBatchJob", resp, "Failure sending request") + return + } + + result, err = client.GetSparkBatchJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "GetSparkBatchJob", resp, "Failure responding to request") + } + + return +} + +// GetSparkBatchJobPreparer prepares the GetSparkBatchJob request. +func (client BatchClient) GetSparkBatchJobPreparer(ctx context.Context, batchID int32, detailed *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "batchId": autorest.Encode("path", batchID), + } + + queryParameters := map[string]interface{}{} + if detailed != nil { + queryParameters["detailed"] = autorest.Encode("query", *detailed) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/batches/{batchId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkBatchJobSender sends the GetSparkBatchJob request. The method will close the +// http.Response Body if it receives an error. +func (client BatchClient) GetSparkBatchJobSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkBatchJobResponder handles the response to the GetSparkBatchJob request. The method always +// closes the http.Response Body. +func (client BatchClient) GetSparkBatchJobResponder(resp *http.Response) (result BatchJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkBatchJobs list all spark batch jobs which are running under a particular spark pool. +// Parameters: +// from - optional param specifying which index the list should begin from. +// size - optional param specifying the size of the returned list. +// By default it is 20 and that is the maximum. +// detailed - optional query param specifying whether detailed response is returned beyond plain livy. +func (client BatchClient) GetSparkBatchJobs(ctx context.Context, from *int32, size *int32, detailed *bool) (result BatchJobCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BatchClient.GetSparkBatchJobs") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSparkBatchJobsPreparer(ctx, from, size, detailed) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "GetSparkBatchJobs", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkBatchJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.BatchClient", "GetSparkBatchJobs", resp, "Failure sending request") + return + } + + result, err = client.GetSparkBatchJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.BatchClient", "GetSparkBatchJobs", resp, "Failure responding to request") + } + + return +} + +// GetSparkBatchJobsPreparer prepares the GetSparkBatchJobs request. +func (client BatchClient) GetSparkBatchJobsPreparer(ctx context.Context, from *int32, size *int32, detailed *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + queryParameters := map[string]interface{}{} + if from != nil { + queryParameters["from"] = autorest.Encode("query", *from) + } + if size != nil { + queryParameters["size"] = autorest.Encode("query", *size) + } + if detailed != nil { + queryParameters["detailed"] = autorest.Encode("query", *detailed) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPath("/batches"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkBatchJobsSender sends the GetSparkBatchJobs request. The method will close the +// http.Response Body if it receives an error. +func (client BatchClient) GetSparkBatchJobsSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkBatchJobsResponder handles the response to the GetSparkBatchJobs request. The method always +// closes the http.Response Body. +func (client BatchClient) GetSparkBatchJobsResponder(resp *http.Response) (result BatchJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/synapse/2019-11-01-preview/spark/client.go b/services/preview/synapse/2019-11-01-preview/spark/client.go new file mode 100644 index 000000000000..3bf2afd1f62d --- /dev/null +++ b/services/preview/synapse/2019-11-01-preview/spark/client.go @@ -0,0 +1,53 @@ +// Package spark implements the Azure ARM Spark service API version 2019-11-01-preview. +// +// +package spark + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultLivyAPIVersion is the default value for livy api version + DefaultLivyAPIVersion = "2019-11-01-preview" +) + +// BaseClient is the base client for Spark. +type BaseClient struct { + autorest.Client + Endpoint string + LivyAPIVersion string + SparkPoolName string +} + +// New creates an instance of the BaseClient client. +func New(endpoint string, sparkPoolName string) BaseClient { + return NewWithoutDefaults(endpoint, sparkPoolName, DefaultLivyAPIVersion) +} + +// NewWithoutDefaults creates an instance of the BaseClient client. +func NewWithoutDefaults(endpoint string, sparkPoolName string, livyAPIVersion string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + Endpoint: endpoint, + LivyAPIVersion: livyAPIVersion, + SparkPoolName: sparkPoolName, + } +} diff --git a/services/preview/synapse/2019-11-01-preview/spark/models.go b/services/preview/synapse/2019-11-01-preview/spark/models.go new file mode 100644 index 000000000000..b9b2ea48d10c --- /dev/null +++ b/services/preview/synapse/2019-11-01-preview/spark/models.go @@ -0,0 +1,682 @@ +package spark + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-11-01-preview/spark" + +// BatchJobResultType enumerates the values for batch job result type. +type BatchJobResultType string + +const ( + // Cancelled ... + Cancelled BatchJobResultType = "Cancelled" + // Failed ... + Failed BatchJobResultType = "Failed" + // Succeeded ... + Succeeded BatchJobResultType = "Succeeded" + // Uncertain ... + Uncertain BatchJobResultType = "Uncertain" +) + +// PossibleBatchJobResultTypeValues returns an array of possible values for the BatchJobResultType const type. +func PossibleBatchJobResultTypeValues() []BatchJobResultType { + return []BatchJobResultType{Cancelled, Failed, Succeeded, Uncertain} +} + +// ErrorSource enumerates the values for error source. +type ErrorSource string + +const ( + // Dependency ... + Dependency ErrorSource = "Dependency" + // System ... + System ErrorSource = "System" + // Unknown ... + Unknown ErrorSource = "Unknown" + // User ... + User ErrorSource = "User" +) + +// PossibleErrorSourceValues returns an array of possible values for the ErrorSource const type. +func PossibleErrorSourceValues() []ErrorSource { + return []ErrorSource{Dependency, System, Unknown, User} +} + +// JobType enumerates the values for job type. +type JobType string + +const ( + // SparkBatch ... + SparkBatch JobType = "SparkBatch" + // SparkSession ... + SparkSession JobType = "SparkSession" +) + +// PossibleJobTypeValues returns an array of possible values for the JobType const type. +func PossibleJobTypeValues() []JobType { + return []JobType{SparkBatch, SparkSession} +} + +// PluginCurrentState enumerates the values for plugin current state. +type PluginCurrentState string + +const ( + // Cleanup ... + Cleanup PluginCurrentState = "Cleanup" + // Ended ... + Ended PluginCurrentState = "Ended" + // Monitoring ... + Monitoring PluginCurrentState = "Monitoring" + // Preparation ... + Preparation PluginCurrentState = "Preparation" + // Queued ... + Queued PluginCurrentState = "Queued" + // ResourceAcquisition ... + ResourceAcquisition PluginCurrentState = "ResourceAcquisition" + // Submission ... + Submission PluginCurrentState = "Submission" +) + +// PossiblePluginCurrentStateValues returns an array of possible values for the PluginCurrentState const type. +func PossiblePluginCurrentStateValues() []PluginCurrentState { + return []PluginCurrentState{Cleanup, Ended, Monitoring, Preparation, Queued, ResourceAcquisition, Submission} +} + +// SchedulerCurrentState enumerates the values for scheduler current state. +type SchedulerCurrentState string + +const ( + // SchedulerCurrentStateEnded ... + SchedulerCurrentStateEnded SchedulerCurrentState = "Ended" + // SchedulerCurrentStateQueued ... + SchedulerCurrentStateQueued SchedulerCurrentState = "Queued" + // SchedulerCurrentStateScheduled ... + SchedulerCurrentStateScheduled SchedulerCurrentState = "Scheduled" +) + +// PossibleSchedulerCurrentStateValues returns an array of possible values for the SchedulerCurrentState const type. +func PossibleSchedulerCurrentStateValues() []SchedulerCurrentState { + return []SchedulerCurrentState{SchedulerCurrentStateEnded, SchedulerCurrentStateQueued, SchedulerCurrentStateScheduled} +} + +// SessionResultType enumerates the values for session result type. +type SessionResultType string + +const ( + // SessionResultTypeCancelled ... + SessionResultTypeCancelled SessionResultType = "Cancelled" + // SessionResultTypeFailed ... + SessionResultTypeFailed SessionResultType = "Failed" + // SessionResultTypeSucceeded ... + SessionResultTypeSucceeded SessionResultType = "Succeeded" + // SessionResultTypeUncertain ... + SessionResultTypeUncertain SessionResultType = "Uncertain" +) + +// PossibleSessionResultTypeValues returns an array of possible values for the SessionResultType const type. +func PossibleSessionResultTypeValues() []SessionResultType { + return []SessionResultType{SessionResultTypeCancelled, SessionResultTypeFailed, SessionResultTypeSucceeded, SessionResultTypeUncertain} +} + +// StatementLanguageType enumerates the values for statement language type. +type StatementLanguageType string + +const ( + // Dotnetspark ... + Dotnetspark StatementLanguageType = "dotnetspark" + // Pyspark ... + Pyspark StatementLanguageType = "pyspark" + // Spark ... + Spark StatementLanguageType = "spark" + // SQL ... + SQL StatementLanguageType = "sql" +) + +// PossibleStatementLanguageTypeValues returns an array of possible values for the StatementLanguageType const type. +func PossibleStatementLanguageTypeValues() []StatementLanguageType { + return []StatementLanguageType{Dotnetspark, Pyspark, Spark, SQL} +} + +// BatchJob ... +type BatchJob struct { + autorest.Response `json:"-"` + LivyInfo *BatchJobState `json:"livyInfo,omitempty"` + // Name - The batch name. + Name *string `json:"name,omitempty"` + // WorkspaceName - The workspace name. + WorkspaceName *string `json:"workspaceName,omitempty"` + // SparkPoolName - The Spark pool name. + SparkPoolName *string `json:"sparkPoolName,omitempty"` + // SubmitterName - The submitter name. + SubmitterName *string `json:"submitterName,omitempty"` + // SubmitterID - The submitter identifier. + SubmitterID *string `json:"submitterId,omitempty"` + // ArtifactID - The artifact identifier. + ArtifactID *string `json:"artifactId,omitempty"` + // JobType - The job type. Possible values include: 'SparkBatch', 'SparkSession' + JobType JobType `json:"jobType,omitempty"` + // Result - The Spark batch job result. Possible values include: 'Uncertain', 'Succeeded', 'Failed', 'Cancelled' + Result BatchJobResultType `json:"result,omitempty"` + // Scheduler - The scheduler information. + Scheduler *Scheduler `json:"schedulerInfo,omitempty"` + // Plugin - The plugin information. + Plugin *ServicePlugin `json:"pluginInfo,omitempty"` + // Errors - The error information. + Errors *[]ServiceError `json:"errorInfo,omitempty"` + // Tags - The tags. + Tags map[string]*string `json:"tags"` + // ID - The session Id. + ID *int32 `json:"id,omitempty"` + // AppID - The application id of this session + AppID *string `json:"appId,omitempty"` + // AppInfo - The detailed application info. + AppInfo map[string]*string `json:"appInfo"` + // State - The batch state + State *string `json:"state,omitempty"` + // LogLines - The log lines. + LogLines *[]string `json:"log,omitempty"` +} + +// MarshalJSON is the custom marshaler for BatchJob. +func (bj BatchJob) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bj.LivyInfo != nil { + objectMap["livyInfo"] = bj.LivyInfo + } + if bj.Name != nil { + objectMap["name"] = bj.Name + } + if bj.WorkspaceName != nil { + objectMap["workspaceName"] = bj.WorkspaceName + } + if bj.SparkPoolName != nil { + objectMap["sparkPoolName"] = bj.SparkPoolName + } + if bj.SubmitterName != nil { + objectMap["submitterName"] = bj.SubmitterName + } + if bj.SubmitterID != nil { + objectMap["submitterId"] = bj.SubmitterID + } + if bj.ArtifactID != nil { + objectMap["artifactId"] = bj.ArtifactID + } + if bj.JobType != "" { + objectMap["jobType"] = bj.JobType + } + if bj.Result != "" { + objectMap["result"] = bj.Result + } + if bj.Scheduler != nil { + objectMap["schedulerInfo"] = bj.Scheduler + } + if bj.Plugin != nil { + objectMap["pluginInfo"] = bj.Plugin + } + if bj.Errors != nil { + objectMap["errorInfo"] = bj.Errors + } + if bj.Tags != nil { + objectMap["tags"] = bj.Tags + } + if bj.ID != nil { + objectMap["id"] = bj.ID + } + if bj.AppID != nil { + objectMap["appId"] = bj.AppID + } + if bj.AppInfo != nil { + objectMap["appInfo"] = bj.AppInfo + } + if bj.State != nil { + objectMap["state"] = bj.State + } + if bj.LogLines != nil { + objectMap["log"] = bj.LogLines + } + return json.Marshal(objectMap) +} + +// BatchJobCollection response for batch list operation. +type BatchJobCollection struct { + autorest.Response `json:"-"` + // From - The start index of fetched sessions. + From *int32 `json:"from,omitempty"` + // Total - Number of sessions fetched. + Total *int32 `json:"total,omitempty"` + // Sessions - Batch list + Sessions *[]BatchJob `json:"sessions,omitempty"` +} + +// BatchJobOptions ... +type BatchJobOptions struct { + Tags map[string]*string `json:"tags"` + ArtifactID *string `json:"artifactId,omitempty"` + Name *string `json:"name,omitempty"` + File *string `json:"file,omitempty"` + ClassName *string `json:"className,omitempty"` + Arguments *[]string `json:"args,omitempty"` + Jars *[]string `json:"jars,omitempty"` + PythonFiles *[]string `json:"pyFiles,omitempty"` + Files *[]string `json:"files,omitempty"` + Archives *[]string `json:"archives,omitempty"` + Configuration map[string]*string `json:"conf"` + DriverMemory *string `json:"driverMemory,omitempty"` + DriverCores *int32 `json:"driverCores,omitempty"` + ExecutorMemory *string `json:"executorMemory,omitempty"` + ExecutorCores *int32 `json:"executorCores,omitempty"` + ExecutorCount *int32 `json:"numExecutors,omitempty"` +} + +// MarshalJSON is the custom marshaler for BatchJobOptions. +func (bjo BatchJobOptions) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bjo.Tags != nil { + objectMap["tags"] = bjo.Tags + } + if bjo.ArtifactID != nil { + objectMap["artifactId"] = bjo.ArtifactID + } + if bjo.Name != nil { + objectMap["name"] = bjo.Name + } + if bjo.File != nil { + objectMap["file"] = bjo.File + } + if bjo.ClassName != nil { + objectMap["className"] = bjo.ClassName + } + if bjo.Arguments != nil { + objectMap["args"] = bjo.Arguments + } + if bjo.Jars != nil { + objectMap["jars"] = bjo.Jars + } + if bjo.PythonFiles != nil { + objectMap["pyFiles"] = bjo.PythonFiles + } + if bjo.Files != nil { + objectMap["files"] = bjo.Files + } + if bjo.Archives != nil { + objectMap["archives"] = bjo.Archives + } + if bjo.Configuration != nil { + objectMap["conf"] = bjo.Configuration + } + if bjo.DriverMemory != nil { + objectMap["driverMemory"] = bjo.DriverMemory + } + if bjo.DriverCores != nil { + objectMap["driverCores"] = bjo.DriverCores + } + if bjo.ExecutorMemory != nil { + objectMap["executorMemory"] = bjo.ExecutorMemory + } + if bjo.ExecutorCores != nil { + objectMap["executorCores"] = bjo.ExecutorCores + } + if bjo.ExecutorCount != nil { + objectMap["numExecutors"] = bjo.ExecutorCount + } + return json.Marshal(objectMap) +} + +// BatchJobState ... +type BatchJobState struct { + // NotStartedAt - the time that at which "not_started" livy state was first seen. + NotStartedAt *date.Time `json:"notStartedAt,omitempty"` + // StartingAt - the time that at which "starting" livy state was first seen. + StartingAt *date.Time `json:"startingAt,omitempty"` + // RunningAt - the time that at which "running" livy state was first seen. + RunningAt *date.Time `json:"runningAt,omitempty"` + // DeadAt - time that at which "dead" livy state was first seen. + DeadAt *date.Time `json:"deadAt,omitempty"` + // SuccessAt - the time that at which "success" livy state was first seen. + SuccessAt *date.Time `json:"successAt,omitempty"` + // TerminatedAt - the time that at which "killed" livy state was first seen. + TerminatedAt *date.Time `json:"killedAt,omitempty"` + // RecoveringAt - the time that at which "recovering" livy state was first seen. + RecoveringAt *date.Time `json:"recoveringAt,omitempty"` + // CurrentState - the Spark job state. + CurrentState *string `json:"currentState,omitempty"` + JobCreationRequest *Request `json:"jobCreationRequest,omitempty"` +} + +// Request ... +type Request struct { + Name *string `json:"name,omitempty"` + File *string `json:"file,omitempty"` + ClassName *string `json:"className,omitempty"` + Arguments *[]string `json:"args,omitempty"` + Jars *[]string `json:"jars,omitempty"` + PythonFiles *[]string `json:"pyFiles,omitempty"` + Files *[]string `json:"files,omitempty"` + Archives *[]string `json:"archives,omitempty"` + Configuration map[string]*string `json:"conf"` + DriverMemory *string `json:"driverMemory,omitempty"` + DriverCores *int32 `json:"driverCores,omitempty"` + ExecutorMemory *string `json:"executorMemory,omitempty"` + ExecutorCores *int32 `json:"executorCores,omitempty"` + ExecutorCount *int32 `json:"numExecutors,omitempty"` +} + +// MarshalJSON is the custom marshaler for Request. +func (r Request) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Name != nil { + objectMap["name"] = r.Name + } + if r.File != nil { + objectMap["file"] = r.File + } + if r.ClassName != nil { + objectMap["className"] = r.ClassName + } + if r.Arguments != nil { + objectMap["args"] = r.Arguments + } + if r.Jars != nil { + objectMap["jars"] = r.Jars + } + if r.PythonFiles != nil { + objectMap["pyFiles"] = r.PythonFiles + } + if r.Files != nil { + objectMap["files"] = r.Files + } + if r.Archives != nil { + objectMap["archives"] = r.Archives + } + if r.Configuration != nil { + objectMap["conf"] = r.Configuration + } + if r.DriverMemory != nil { + objectMap["driverMemory"] = r.DriverMemory + } + if r.DriverCores != nil { + objectMap["driverCores"] = r.DriverCores + } + if r.ExecutorMemory != nil { + objectMap["executorMemory"] = r.ExecutorMemory + } + if r.ExecutorCores != nil { + objectMap["executorCores"] = r.ExecutorCores + } + if r.ExecutorCount != nil { + objectMap["numExecutors"] = r.ExecutorCount + } + return json.Marshal(objectMap) +} + +// Scheduler ... +type Scheduler struct { + SubmittedAt *date.Time `json:"submittedAt,omitempty"` + ScheduledAt *date.Time `json:"scheduledAt,omitempty"` + EndedAt *date.Time `json:"endedAt,omitempty"` + CancellationRequestedAt *date.Time `json:"cancellationRequestedAt,omitempty"` + // CurrentState - Possible values include: 'SchedulerCurrentStateQueued', 'SchedulerCurrentStateScheduled', 'SchedulerCurrentStateEnded' + CurrentState SchedulerCurrentState `json:"currentState,omitempty"` +} + +// ServiceError ... +type ServiceError struct { + Message *string `json:"message,omitempty"` + ErrorCode *string `json:"errorCode,omitempty"` + // Source - Possible values include: 'System', 'User', 'Unknown', 'Dependency' + Source ErrorSource `json:"source,omitempty"` +} + +// ServicePlugin ... +type ServicePlugin struct { + PreparationStartedAt *date.Time `json:"preparationStartedAt,omitempty"` + ResourceAcquisitionStartedAt *date.Time `json:"resourceAcquisitionStartedAt,omitempty"` + SubmissionStartedAt *date.Time `json:"submissionStartedAt,omitempty"` + MonitoringStartedAt *date.Time `json:"monitoringStartedAt,omitempty"` + CleanupStartedAt *date.Time `json:"cleanupStartedAt,omitempty"` + // CurrentState - Possible values include: 'Preparation', 'ResourceAcquisition', 'Queued', 'Submission', 'Monitoring', 'Cleanup', 'Ended' + CurrentState PluginCurrentState `json:"currentState,omitempty"` +} + +// Session ... +type Session struct { + autorest.Response `json:"-"` + LivyInfo *SessionState `json:"livyInfo,omitempty"` + Name *string `json:"name,omitempty"` + WorkspaceName *string `json:"workspaceName,omitempty"` + SparkPoolName *string `json:"sparkPoolName,omitempty"` + SubmitterName *string `json:"submitterName,omitempty"` + SubmitterID *string `json:"submitterId,omitempty"` + ArtifactID *string `json:"artifactId,omitempty"` + // JobType - Possible values include: 'SparkBatch', 'SparkSession' + JobType JobType `json:"jobType,omitempty"` + // Result - Possible values include: 'SessionResultTypeUncertain', 'SessionResultTypeSucceeded', 'SessionResultTypeFailed', 'SessionResultTypeCancelled' + Result SessionResultType `json:"result,omitempty"` + Scheduler *Scheduler `json:"schedulerInfo,omitempty"` + Plugin *ServicePlugin `json:"pluginInfo,omitempty"` + Errors *[]ServiceError `json:"errorInfo,omitempty"` + Tags map[string]*string `json:"tags"` + ID *int32 `json:"id,omitempty"` + AppID *string `json:"appId,omitempty"` + AppInfo map[string]*string `json:"appInfo"` + State *string `json:"state,omitempty"` + LogLines *[]string `json:"log,omitempty"` +} + +// MarshalJSON is the custom marshaler for Session. +func (s Session) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.LivyInfo != nil { + objectMap["livyInfo"] = s.LivyInfo + } + if s.Name != nil { + objectMap["name"] = s.Name + } + if s.WorkspaceName != nil { + objectMap["workspaceName"] = s.WorkspaceName + } + if s.SparkPoolName != nil { + objectMap["sparkPoolName"] = s.SparkPoolName + } + if s.SubmitterName != nil { + objectMap["submitterName"] = s.SubmitterName + } + if s.SubmitterID != nil { + objectMap["submitterId"] = s.SubmitterID + } + if s.ArtifactID != nil { + objectMap["artifactId"] = s.ArtifactID + } + if s.JobType != "" { + objectMap["jobType"] = s.JobType + } + if s.Result != "" { + objectMap["result"] = s.Result + } + if s.Scheduler != nil { + objectMap["schedulerInfo"] = s.Scheduler + } + if s.Plugin != nil { + objectMap["pluginInfo"] = s.Plugin + } + if s.Errors != nil { + objectMap["errorInfo"] = s.Errors + } + if s.Tags != nil { + objectMap["tags"] = s.Tags + } + if s.ID != nil { + objectMap["id"] = s.ID + } + if s.AppID != nil { + objectMap["appId"] = s.AppID + } + if s.AppInfo != nil { + objectMap["appInfo"] = s.AppInfo + } + if s.State != nil { + objectMap["state"] = s.State + } + if s.LogLines != nil { + objectMap["log"] = s.LogLines + } + return json.Marshal(objectMap) +} + +// SessionCollection ... +type SessionCollection struct { + autorest.Response `json:"-"` + From *int32 `json:"from,omitempty"` + Total *int32 `json:"total,omitempty"` + Sessions *[]Session `json:"sessions,omitempty"` +} + +// SessionOptions ... +type SessionOptions struct { + Tags map[string]*string `json:"tags"` + ArtifactID *string `json:"artifactId,omitempty"` + Name *string `json:"name,omitempty"` + File *string `json:"file,omitempty"` + ClassName *string `json:"className,omitempty"` + Arguments *[]string `json:"args,omitempty"` + Jars *[]string `json:"jars,omitempty"` + PythonFiles *[]string `json:"pyFiles,omitempty"` + Files *[]string `json:"files,omitempty"` + Archives *[]string `json:"archives,omitempty"` + Configuration map[string]*string `json:"conf"` + DriverMemory *string `json:"driverMemory,omitempty"` + DriverCores *int32 `json:"driverCores,omitempty"` + ExecutorMemory *string `json:"executorMemory,omitempty"` + ExecutorCores *int32 `json:"executorCores,omitempty"` + ExecutorCount *int32 `json:"numExecutors,omitempty"` +} + +// MarshalJSON is the custom marshaler for SessionOptions. +func (so SessionOptions) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if so.Tags != nil { + objectMap["tags"] = so.Tags + } + if so.ArtifactID != nil { + objectMap["artifactId"] = so.ArtifactID + } + if so.Name != nil { + objectMap["name"] = so.Name + } + if so.File != nil { + objectMap["file"] = so.File + } + if so.ClassName != nil { + objectMap["className"] = so.ClassName + } + if so.Arguments != nil { + objectMap["args"] = so.Arguments + } + if so.Jars != nil { + objectMap["jars"] = so.Jars + } + if so.PythonFiles != nil { + objectMap["pyFiles"] = so.PythonFiles + } + if so.Files != nil { + objectMap["files"] = so.Files + } + if so.Archives != nil { + objectMap["archives"] = so.Archives + } + if so.Configuration != nil { + objectMap["conf"] = so.Configuration + } + if so.DriverMemory != nil { + objectMap["driverMemory"] = so.DriverMemory + } + if so.DriverCores != nil { + objectMap["driverCores"] = so.DriverCores + } + if so.ExecutorMemory != nil { + objectMap["executorMemory"] = so.ExecutorMemory + } + if so.ExecutorCores != nil { + objectMap["executorCores"] = so.ExecutorCores + } + if so.ExecutorCount != nil { + objectMap["numExecutors"] = so.ExecutorCount + } + return json.Marshal(objectMap) +} + +// SessionState ... +type SessionState struct { + NotStartedAt *date.Time `json:"notStartedAt,omitempty"` + StartingAt *date.Time `json:"startingAt,omitempty"` + IdleAt *date.Time `json:"idleAt,omitempty"` + DeadAt *date.Time `json:"deadAt,omitempty"` + ShuttingDownAt *date.Time `json:"shuttingDownAt,omitempty"` + TerminatedAt *date.Time `json:"killedAt,omitempty"` + RecoveringAt *date.Time `json:"recoveringAt,omitempty"` + BusyAt *date.Time `json:"busyAt,omitempty"` + ErrorAt *date.Time `json:"errorAt,omitempty"` + CurrentState *string `json:"currentState,omitempty"` + JobCreationRequest *Request `json:"jobCreationRequest,omitempty"` +} + +// Statement ... +type Statement struct { + autorest.Response `json:"-"` + ID *int32 `json:"id,omitempty"` + Code *string `json:"code,omitempty"` + State *string `json:"state,omitempty"` + Output *StatementOutput `json:"output,omitempty"` +} + +// StatementCancellationResult ... +type StatementCancellationResult struct { + autorest.Response `json:"-"` + Msg *string `json:"msg,omitempty"` +} + +// StatementCollection ... +type StatementCollection struct { + autorest.Response `json:"-"` + Total *int32 `json:"total_statements,omitempty"` + Statements *[]Statement `json:"statements,omitempty"` +} + +// StatementOptions ... +type StatementOptions struct { + Code *string `json:"code,omitempty"` + // Kind - Possible values include: 'Spark', 'Pyspark', 'Dotnetspark', 'SQL' + Kind StatementLanguageType `json:"kind,omitempty"` +} + +// StatementOutput ... +type StatementOutput struct { + Status *string `json:"status,omitempty"` + ExecutionCount *int32 `json:"execution_count,omitempty"` + Data interface{} `json:"data,omitempty"` + ErrorName *string `json:"ename,omitempty"` + ErrorValue *string `json:"evalue,omitempty"` + Traceback *[]string `json:"traceback,omitempty"` +} diff --git a/services/preview/synapse/2019-11-01-preview/spark/session.go b/services/preview/synapse/2019-11-01-preview/spark/session.go new file mode 100644 index 000000000000..028fd613dbc2 --- /dev/null +++ b/services/preview/synapse/2019-11-01-preview/spark/session.go @@ -0,0 +1,728 @@ +package spark + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SessionClient is the client for the Session methods of the Spark service. +type SessionClient struct { + BaseClient +} + +// NewSessionClient creates an instance of the SessionClient client. +func NewSessionClient(endpoint string, sparkPoolName string) SessionClient { + return SessionClient{New(endpoint, sparkPoolName)} +} + +// CancelSparkSession cancels a running spark session. +// Parameters: +// sessionID - identifier for the session. +func (client SessionClient) CancelSparkSession(ctx context.Context, sessionID int32) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.CancelSparkSession") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelSparkSessionPreparer(ctx, sessionID) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CancelSparkSession", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSparkSessionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CancelSparkSession", resp, "Failure sending request") + return + } + + result, err = client.CancelSparkSessionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CancelSparkSession", resp, "Failure responding to request") + } + + return +} + +// CancelSparkSessionPreparer prepares the CancelSparkSession request. +func (client SessionClient) CancelSparkSessionPreparer(ctx context.Context, sessionID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "sessionId": autorest.Encode("path", sessionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/sessions/{sessionId}", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelSparkSessionSender sends the CancelSparkSession request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) CancelSparkSessionSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CancelSparkSessionResponder handles the response to the CancelSparkSession request. The method always +// closes the http.Response Body. +func (client SessionClient) CancelSparkSessionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// CancelSparkStatement kill a statement within a session. +// Parameters: +// sessionID - identifier for the session. +// statementID - identifier for the statement. +func (client SessionClient) CancelSparkStatement(ctx context.Context, sessionID int32, statementID int32) (result StatementCancellationResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.CancelSparkStatement") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelSparkStatementPreparer(ctx, sessionID, statementID) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CancelSparkStatement", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSparkStatementSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CancelSparkStatement", resp, "Failure sending request") + return + } + + result, err = client.CancelSparkStatementResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CancelSparkStatement", resp, "Failure responding to request") + } + + return +} + +// CancelSparkStatementPreparer prepares the CancelSparkStatement request. +func (client SessionClient) CancelSparkStatementPreparer(ctx context.Context, sessionID int32, statementID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "sessionId": autorest.Encode("path", sessionID), + "statementId": autorest.Encode("path", statementID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/sessions/{sessionId}/statements/{statementId}/cancel", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelSparkStatementSender sends the CancelSparkStatement request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) CancelSparkStatementSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CancelSparkStatementResponder handles the response to the CancelSparkStatement request. The method always +// closes the http.Response Body. +func (client SessionClient) CancelSparkStatementResponder(resp *http.Response) (result StatementCancellationResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateSparkSession create new spark session. +// Parameters: +// sparkSessionOptions - livy compatible batch job request payload. +// detailed - optional query param specifying whether detailed response is returned beyond plain livy. +func (client SessionClient) CreateSparkSession(ctx context.Context, sparkSessionOptions SessionOptions, detailed *bool) (result Session, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.CreateSparkSession") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: sparkSessionOptions, + Constraints: []validation.Constraint{{Target: "sparkSessionOptions.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("spark.SessionClient", "CreateSparkSession", err.Error()) + } + + req, err := client.CreateSparkSessionPreparer(ctx, sparkSessionOptions, detailed) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CreateSparkSession", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSparkSessionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CreateSparkSession", resp, "Failure sending request") + return + } + + result, err = client.CreateSparkSessionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CreateSparkSession", resp, "Failure responding to request") + } + + return +} + +// CreateSparkSessionPreparer prepares the CreateSparkSession request. +func (client SessionClient) CreateSparkSessionPreparer(ctx context.Context, sparkSessionOptions SessionOptions, detailed *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + queryParameters := map[string]interface{}{} + if detailed != nil { + queryParameters["detailed"] = autorest.Encode("query", *detailed) + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPath("/sessions"), + autorest.WithJSON(sparkSessionOptions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSparkSessionSender sends the CreateSparkSession request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) CreateSparkSessionSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateSparkSessionResponder handles the response to the CreateSparkSession request. The method always +// closes the http.Response Body. +func (client SessionClient) CreateSparkSessionResponder(resp *http.Response) (result Session, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateSparkStatement create statement within a spark session. +// Parameters: +// sessionID - identifier for the session. +// sparkStatementOptions - livy compatible batch job request payload. +func (client SessionClient) CreateSparkStatement(ctx context.Context, sessionID int32, sparkStatementOptions StatementOptions) (result Statement, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.CreateSparkStatement") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateSparkStatementPreparer(ctx, sessionID, sparkStatementOptions) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CreateSparkStatement", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSparkStatementSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CreateSparkStatement", resp, "Failure sending request") + return + } + + result, err = client.CreateSparkStatementResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "CreateSparkStatement", resp, "Failure responding to request") + } + + return +} + +// CreateSparkStatementPreparer prepares the CreateSparkStatement request. +func (client SessionClient) CreateSparkStatementPreparer(ctx context.Context, sessionID int32, sparkStatementOptions StatementOptions) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "sessionId": autorest.Encode("path", sessionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/sessions/{sessionId}/statements", pathParameters), + autorest.WithJSON(sparkStatementOptions)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSparkStatementSender sends the CreateSparkStatement request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) CreateSparkStatementSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateSparkStatementResponder handles the response to the CreateSparkStatement request. The method always +// closes the http.Response Body. +func (client SessionClient) CreateSparkStatementResponder(resp *http.Response) (result Statement, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkSession gets a single spark session. +// Parameters: +// sessionID - identifier for the session. +// detailed - optional query param specifying whether detailed response is returned beyond plain livy. +func (client SessionClient) GetSparkSession(ctx context.Context, sessionID int32, detailed *bool) (result Session, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.GetSparkSession") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSparkSessionPreparer(ctx, sessionID, detailed) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkSession", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkSessionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkSession", resp, "Failure sending request") + return + } + + result, err = client.GetSparkSessionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkSession", resp, "Failure responding to request") + } + + return +} + +// GetSparkSessionPreparer prepares the GetSparkSession request. +func (client SessionClient) GetSparkSessionPreparer(ctx context.Context, sessionID int32, detailed *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "sessionId": autorest.Encode("path", sessionID), + } + + queryParameters := map[string]interface{}{} + if detailed != nil { + queryParameters["detailed"] = autorest.Encode("query", *detailed) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/sessions/{sessionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkSessionSender sends the GetSparkSession request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) GetSparkSessionSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkSessionResponder handles the response to the GetSparkSession request. The method always +// closes the http.Response Body. +func (client SessionClient) GetSparkSessionResponder(resp *http.Response) (result Session, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkSessions list all spark sessions which are running under a particular spark pool. +// Parameters: +// from - optional param specifying which index the list should begin from. +// size - optional param specifying the size of the returned list. +// By default it is 20 and that is the maximum. +// detailed - optional query param specifying whether detailed response is returned beyond plain livy. +func (client SessionClient) GetSparkSessions(ctx context.Context, from *int32, size *int32, detailed *bool) (result SessionCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.GetSparkSessions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSparkSessionsPreparer(ctx, from, size, detailed) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkSessions", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkSessionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkSessions", resp, "Failure sending request") + return + } + + result, err = client.GetSparkSessionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkSessions", resp, "Failure responding to request") + } + + return +} + +// GetSparkSessionsPreparer prepares the GetSparkSessions request. +func (client SessionClient) GetSparkSessionsPreparer(ctx context.Context, from *int32, size *int32, detailed *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + queryParameters := map[string]interface{}{} + if from != nil { + queryParameters["from"] = autorest.Encode("query", *from) + } + if size != nil { + queryParameters["size"] = autorest.Encode("query", *size) + } + if detailed != nil { + queryParameters["detailed"] = autorest.Encode("query", *detailed) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPath("/sessions"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkSessionsSender sends the GetSparkSessions request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) GetSparkSessionsSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkSessionsResponder handles the response to the GetSparkSessions request. The method always +// closes the http.Response Body. +func (client SessionClient) GetSparkSessionsResponder(resp *http.Response) (result SessionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkStatement gets a single statement within a spark session. +// Parameters: +// sessionID - identifier for the session. +// statementID - identifier for the statement. +func (client SessionClient) GetSparkStatement(ctx context.Context, sessionID int32, statementID int32) (result Statement, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.GetSparkStatement") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSparkStatementPreparer(ctx, sessionID, statementID) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkStatement", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkStatementSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkStatement", resp, "Failure sending request") + return + } + + result, err = client.GetSparkStatementResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkStatement", resp, "Failure responding to request") + } + + return +} + +// GetSparkStatementPreparer prepares the GetSparkStatement request. +func (client SessionClient) GetSparkStatementPreparer(ctx context.Context, sessionID int32, statementID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "sessionId": autorest.Encode("path", sessionID), + "statementId": autorest.Encode("path", statementID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/sessions/{sessionId}/statements/{statementId}", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkStatementSender sends the GetSparkStatement request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) GetSparkStatementSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkStatementResponder handles the response to the GetSparkStatement request. The method always +// closes the http.Response Body. +func (client SessionClient) GetSparkStatementResponder(resp *http.Response) (result Statement, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSparkStatements gets a list of statements within a spark session. +// Parameters: +// sessionID - identifier for the session. +func (client SessionClient) GetSparkStatements(ctx context.Context, sessionID int32) (result StatementCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.GetSparkStatements") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSparkStatementsPreparer(ctx, sessionID) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkStatements", nil, "Failure preparing request") + return + } + + resp, err := client.GetSparkStatementsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkStatements", resp, "Failure sending request") + return + } + + result, err = client.GetSparkStatementsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "GetSparkStatements", resp, "Failure responding to request") + } + + return +} + +// GetSparkStatementsPreparer prepares the GetSparkStatements request. +func (client SessionClient) GetSparkStatementsPreparer(ctx context.Context, sessionID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "sessionId": autorest.Encode("path", sessionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/sessions/{sessionId}/statements", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSparkStatementsSender sends the GetSparkStatements request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) GetSparkStatementsSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetSparkStatementsResponder handles the response to the GetSparkStatements request. The method always +// closes the http.Response Body. +func (client SessionClient) GetSparkStatementsResponder(resp *http.Response) (result StatementCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ResetSparkSessionTimeout sends a keep alive call to the current session to reset the session timeout. +// Parameters: +// sessionID - identifier for the session. +func (client SessionClient) ResetSparkSessionTimeout(ctx context.Context, sessionID int32) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SessionClient.ResetSparkSessionTimeout") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetSparkSessionTimeoutPreparer(ctx, sessionID) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "ResetSparkSessionTimeout", nil, "Failure preparing request") + return + } + + resp, err := client.ResetSparkSessionTimeoutSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "spark.SessionClient", "ResetSparkSessionTimeout", resp, "Failure sending request") + return + } + + result, err = client.ResetSparkSessionTimeoutResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "spark.SessionClient", "ResetSparkSessionTimeout", resp, "Failure responding to request") + } + + return +} + +// ResetSparkSessionTimeoutPreparer prepares the ResetSparkSessionTimeout request. +func (client SessionClient) ResetSparkSessionTimeoutPreparer(ctx context.Context, sessionID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + "livyApiVersion": client.LivyAPIVersion, + "sparkPoolName": client.SparkPoolName, + } + + pathParameters := map[string]interface{}{ + "sessionId": autorest.Encode("path", sessionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithCustomBaseURL("{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", urlParameters), + autorest.WithPathParameters("/sessions/{sessionId}/reset-timeout", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSparkSessionTimeoutSender sends the ResetSparkSessionTimeout request. The method will close the +// http.Response Body if it receives an error. +func (client SessionClient) ResetSparkSessionTimeoutSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// ResetSparkSessionTimeoutResponder handles the response to the ResetSparkSessionTimeout request. The method always +// closes the http.Response Body. +func (client SessionClient) ResetSparkSessionTimeoutResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/synapse/2019-11-01-preview/spark/sparkapi/interfaces.go b/services/preview/synapse/2019-11-01-preview/spark/sparkapi/interfaces.go new file mode 100644 index 000000000000..5ff9f71a3b11 --- /dev/null +++ b/services/preview/synapse/2019-11-01-preview/spark/sparkapi/interfaces.go @@ -0,0 +1,49 @@ +package sparkapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-11-01-preview/spark" + "github.com/Azure/go-autorest/autorest" +) + +// BatchClientAPI contains the set of methods on the BatchClient type. +type BatchClientAPI interface { + CancelSparkBatchJob(ctx context.Context, batchID int32) (result autorest.Response, err error) + CreateSparkBatchJob(ctx context.Context, sparkBatchJobOptions spark.BatchJobOptions, detailed *bool) (result spark.BatchJob, err error) + GetSparkBatchJob(ctx context.Context, batchID int32, detailed *bool) (result spark.BatchJob, err error) + GetSparkBatchJobs(ctx context.Context, from *int32, size *int32, detailed *bool) (result spark.BatchJobCollection, err error) +} + +var _ BatchClientAPI = (*spark.BatchClient)(nil) + +// SessionClientAPI contains the set of methods on the SessionClient type. +type SessionClientAPI interface { + CancelSparkSession(ctx context.Context, sessionID int32) (result autorest.Response, err error) + CancelSparkStatement(ctx context.Context, sessionID int32, statementID int32) (result spark.StatementCancellationResult, err error) + CreateSparkSession(ctx context.Context, sparkSessionOptions spark.SessionOptions, detailed *bool) (result spark.Session, err error) + CreateSparkStatement(ctx context.Context, sessionID int32, sparkStatementOptions spark.StatementOptions) (result spark.Statement, err error) + GetSparkSession(ctx context.Context, sessionID int32, detailed *bool) (result spark.Session, err error) + GetSparkSessions(ctx context.Context, from *int32, size *int32, detailed *bool) (result spark.SessionCollection, err error) + GetSparkStatement(ctx context.Context, sessionID int32, statementID int32) (result spark.Statement, err error) + GetSparkStatements(ctx context.Context, sessionID int32) (result spark.StatementCollection, err error) + ResetSparkSessionTimeout(ctx context.Context, sessionID int32) (result autorest.Response, err error) +} + +var _ SessionClientAPI = (*spark.SessionClient)(nil) diff --git a/services/preview/synapse/2019-11-01-preview/spark/version.go b/services/preview/synapse/2019-11-01-preview/spark/version.go new file mode 100644 index 000000000000..f9e98b196555 --- /dev/null +++ b/services/preview/synapse/2019-11-01-preview/spark/version.go @@ -0,0 +1,30 @@ +package spark + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + Version() + " spark/2019-11-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/synapse/2020-02-01-preview/accesscontrol/accesscontrol.go b/services/preview/synapse/2020-02-01-preview/accesscontrol/accesscontrol.go new file mode 100644 index 000000000000..ef2b409e3029 --- /dev/null +++ b/services/preview/synapse/2020-02-01-preview/accesscontrol/accesscontrol.go @@ -0,0 +1,626 @@ +package accesscontrol + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// Client is the client for the AccessControl methods of the Accesscontrol service. +type Client struct { + BaseClient +} + +// NewClient creates an instance of the Client client. +func NewClient(endpoint string) Client { + return Client{New(endpoint)} +} + +// CreateRoleAssignment create role assignment. +// Parameters: +// createRoleAssignmentOptions - details of role id and object id. +func (client Client) CreateRoleAssignment(ctx context.Context, createRoleAssignmentOptions RoleAssignmentOptions) (result RoleAssignmentDetails, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.CreateRoleAssignment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: createRoleAssignmentOptions, + Constraints: []validation.Constraint{{Target: "createRoleAssignmentOptions.RoleID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "createRoleAssignmentOptions.PrincipalID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("accesscontrol.Client", "CreateRoleAssignment", err.Error()) + } + + req, err := client.CreateRoleAssignmentPreparer(ctx, createRoleAssignmentOptions) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "CreateRoleAssignment", nil, "Failure preparing request") + return + } + + resp, err := client.CreateRoleAssignmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "CreateRoleAssignment", resp, "Failure sending request") + return + } + + result, err = client.CreateRoleAssignmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "CreateRoleAssignment", resp, "Failure responding to request") + } + + return +} + +// CreateRoleAssignmentPreparer prepares the CreateRoleAssignment request. +func (client Client) CreateRoleAssignmentPreparer(ctx context.Context, createRoleAssignmentOptions RoleAssignmentOptions) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2020-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/rbac/roleAssignments"), + autorest.WithJSON(createRoleAssignmentOptions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateRoleAssignmentSender sends the CreateRoleAssignment request. The method will close the +// http.Response Body if it receives an error. +func (client Client) CreateRoleAssignmentSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateRoleAssignmentResponder handles the response to the CreateRoleAssignment request. The method always +// closes the http.Response Body. +func (client Client) CreateRoleAssignmentResponder(resp *http.Response) (result RoleAssignmentDetails, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteRoleAssignmentByID delete role assignment by role assignment Id. +// Parameters: +// roleAssignmentID - the ID of the role assignment. +func (client Client) DeleteRoleAssignmentByID(ctx context.Context, roleAssignmentID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.DeleteRoleAssignmentByID") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: roleAssignmentID, + Constraints: []validation.Constraint{{Target: "roleAssignmentID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("accesscontrol.Client", "DeleteRoleAssignmentByID", err.Error()) + } + + req, err := client.DeleteRoleAssignmentByIDPreparer(ctx, roleAssignmentID) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "DeleteRoleAssignmentByID", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteRoleAssignmentByIDSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "DeleteRoleAssignmentByID", resp, "Failure sending request") + return + } + + result, err = client.DeleteRoleAssignmentByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "DeleteRoleAssignmentByID", resp, "Failure responding to request") + } + + return +} + +// DeleteRoleAssignmentByIDPreparer prepares the DeleteRoleAssignmentByID request. +func (client Client) DeleteRoleAssignmentByIDPreparer(ctx context.Context, roleAssignmentID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "roleAssignmentId": autorest.Encode("path", roleAssignmentID), + } + + const APIVersion = "2020-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/rbac/roleAssignments/{roleAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteRoleAssignmentByIDSender sends the DeleteRoleAssignmentByID request. The method will close the +// http.Response Body if it receives an error. +func (client Client) DeleteRoleAssignmentByIDSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteRoleAssignmentByIDResponder handles the response to the DeleteRoleAssignmentByID request. The method always +// closes the http.Response Body. +func (client Client) DeleteRoleAssignmentByIDResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetCallerRoleAssignments list role assignments of the caller. +func (client Client) GetCallerRoleAssignments(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.GetCallerRoleAssignments") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetCallerRoleAssignmentsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetCallerRoleAssignments", nil, "Failure preparing request") + return + } + + resp, err := client.GetCallerRoleAssignmentsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetCallerRoleAssignments", resp, "Failure sending request") + return + } + + result, err = client.GetCallerRoleAssignmentsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetCallerRoleAssignments", resp, "Failure responding to request") + } + + return +} + +// GetCallerRoleAssignmentsPreparer prepares the GetCallerRoleAssignments request. +func (client Client) GetCallerRoleAssignmentsPreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2020-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/rbac/getMyAssignedRoles"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetCallerRoleAssignmentsSender sends the GetCallerRoleAssignments request. The method will close the +// http.Response Body if it receives an error. +func (client Client) GetCallerRoleAssignmentsSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetCallerRoleAssignmentsResponder handles the response to the GetCallerRoleAssignments request. The method always +// closes the http.Response Body. +func (client Client) GetCallerRoleAssignmentsResponder(resp *http.Response) (result ListString, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRoleAssignmentByID get role assignment by role assignment Id. +// Parameters: +// roleAssignmentID - the ID of the role assignment. +func (client Client) GetRoleAssignmentByID(ctx context.Context, roleAssignmentID string) (result RoleAssignmentDetails, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.GetRoleAssignmentByID") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: roleAssignmentID, + Constraints: []validation.Constraint{{Target: "roleAssignmentID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("accesscontrol.Client", "GetRoleAssignmentByID", err.Error()) + } + + req, err := client.GetRoleAssignmentByIDPreparer(ctx, roleAssignmentID) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleAssignmentByID", nil, "Failure preparing request") + return + } + + resp, err := client.GetRoleAssignmentByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleAssignmentByID", resp, "Failure sending request") + return + } + + result, err = client.GetRoleAssignmentByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleAssignmentByID", resp, "Failure responding to request") + } + + return +} + +// GetRoleAssignmentByIDPreparer prepares the GetRoleAssignmentByID request. +func (client Client) GetRoleAssignmentByIDPreparer(ctx context.Context, roleAssignmentID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "roleAssignmentId": autorest.Encode("path", roleAssignmentID), + } + + const APIVersion = "2020-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/rbac/roleAssignments/{roleAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRoleAssignmentByIDSender sends the GetRoleAssignmentByID request. The method will close the +// http.Response Body if it receives an error. +func (client Client) GetRoleAssignmentByIDSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetRoleAssignmentByIDResponder handles the response to the GetRoleAssignmentByID request. The method always +// closes the http.Response Body. +func (client Client) GetRoleAssignmentByIDResponder(resp *http.Response) (result RoleAssignmentDetails, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRoleAssignments list role assignments. +// Parameters: +// roleID - synapse Built-In Role Id. +// principalID - object ID of the AAD principal or security-group. +// continuationToken - continuation token. +func (client Client) GetRoleAssignments(ctx context.Context, roleID string, principalID string, continuationToken string) (result ListRoleAssignmentDetails, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.GetRoleAssignments") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetRoleAssignmentsPreparer(ctx, roleID, principalID, continuationToken) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleAssignments", nil, "Failure preparing request") + return + } + + resp, err := client.GetRoleAssignmentsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleAssignments", resp, "Failure sending request") + return + } + + result, err = client.GetRoleAssignmentsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleAssignments", resp, "Failure responding to request") + } + + return +} + +// GetRoleAssignmentsPreparer prepares the GetRoleAssignments request. +func (client Client) GetRoleAssignmentsPreparer(ctx context.Context, roleID string, principalID string, continuationToken string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2020-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(roleID) > 0 { + queryParameters["roleId"] = autorest.Encode("query", roleID) + } + if len(principalID) > 0 { + queryParameters["principalId"] = autorest.Encode("query", principalID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/rbac/roleAssignments"), + autorest.WithQueryParameters(queryParameters)) + if len(continuationToken) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-continuation", autorest.String(continuationToken))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRoleAssignmentsSender sends the GetRoleAssignments request. The method will close the +// http.Response Body if it receives an error. +func (client Client) GetRoleAssignmentsSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetRoleAssignmentsResponder handles the response to the GetRoleAssignments request. The method always +// closes the http.Response Body. +func (client Client) GetRoleAssignmentsResponder(resp *http.Response) (result ListRoleAssignmentDetails, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRoleDefinitionByID get role by role Id. +// Parameters: +// roleID - synapse Built-In Role Id. +func (client Client) GetRoleDefinitionByID(ctx context.Context, roleID string) (result SynapseRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.GetRoleDefinitionByID") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetRoleDefinitionByIDPreparer(ctx, roleID) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleDefinitionByID", nil, "Failure preparing request") + return + } + + resp, err := client.GetRoleDefinitionByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleDefinitionByID", resp, "Failure sending request") + return + } + + result, err = client.GetRoleDefinitionByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleDefinitionByID", resp, "Failure responding to request") + } + + return +} + +// GetRoleDefinitionByIDPreparer prepares the GetRoleDefinitionByID request. +func (client Client) GetRoleDefinitionByIDPreparer(ctx context.Context, roleID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "roleId": autorest.Encode("path", roleID), + } + + const APIVersion = "2020-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPathParameters("/rbac/roles/{roleId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRoleDefinitionByIDSender sends the GetRoleDefinitionByID request. The method will close the +// http.Response Body if it receives an error. +func (client Client) GetRoleDefinitionByIDSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetRoleDefinitionByIDResponder handles the response to the GetRoleDefinitionByID request. The method always +// closes the http.Response Body. +func (client Client) GetRoleDefinitionByIDResponder(resp *http.Response) (result SynapseRole, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRoleDefinitions list roles. +func (client Client) GetRoleDefinitions(ctx context.Context) (result RolesListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.GetRoleDefinitions") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getRoleDefinitionsNextResults + req, err := client.GetRoleDefinitionsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.GetRoleDefinitionsSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleDefinitions", resp, "Failure sending request") + return + } + + result.rlr, err = client.GetRoleDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "GetRoleDefinitions", resp, "Failure responding to request") + } + + return +} + +// GetRoleDefinitionsPreparer prepares the GetRoleDefinitions request. +func (client Client) GetRoleDefinitionsPreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "endpoint": client.Endpoint, + } + + const APIVersion = "2020-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{endpoint}", urlParameters), + autorest.WithPath("/rbac/roles"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRoleDefinitionsSender sends the GetRoleDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client Client) GetRoleDefinitionsSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetRoleDefinitionsResponder handles the response to the GetRoleDefinitions request. The method always +// closes the http.Response Body. +func (client Client) GetRoleDefinitionsResponder(resp *http.Response) (result RolesListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getRoleDefinitionsNextResults retrieves the next set of results, if any. +func (client Client) getRoleDefinitionsNextResults(ctx context.Context, lastResults RolesListResponse) (result RolesListResponse, err error) { + req, err := lastResults.rolesListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "accesscontrol.Client", "getRoleDefinitionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetRoleDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "accesscontrol.Client", "getRoleDefinitionsNextResults", resp, "Failure sending next results request") + } + result, err = client.GetRoleDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "accesscontrol.Client", "getRoleDefinitionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetRoleDefinitionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client Client) GetRoleDefinitionsComplete(ctx context.Context) (result RolesListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.GetRoleDefinitions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetRoleDefinitions(ctx) + return +} diff --git a/services/preview/synapse/2020-02-01-preview/accesscontrol/accesscontrolapi/interfaces.go b/services/preview/synapse/2020-02-01-preview/accesscontrol/accesscontrolapi/interfaces.go new file mode 100644 index 000000000000..1e1e07b282c5 --- /dev/null +++ b/services/preview/synapse/2020-02-01-preview/accesscontrol/accesscontrolapi/interfaces.go @@ -0,0 +1,38 @@ +package accesscontrolapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2020-02-01-preview/accesscontrol" + "github.com/Azure/go-autorest/autorest" +) + +// ClientAPI contains the set of methods on the Client type. +type ClientAPI interface { + CreateRoleAssignment(ctx context.Context, createRoleAssignmentOptions accesscontrol.RoleAssignmentOptions) (result accesscontrol.RoleAssignmentDetails, err error) + DeleteRoleAssignmentByID(ctx context.Context, roleAssignmentID string) (result autorest.Response, err error) + GetCallerRoleAssignments(ctx context.Context) (result accesscontrol.ListString, err error) + GetRoleAssignmentByID(ctx context.Context, roleAssignmentID string) (result accesscontrol.RoleAssignmentDetails, err error) + GetRoleAssignments(ctx context.Context, roleID string, principalID string, continuationToken string) (result accesscontrol.ListRoleAssignmentDetails, err error) + GetRoleDefinitionByID(ctx context.Context, roleID string) (result accesscontrol.SynapseRole, err error) + GetRoleDefinitions(ctx context.Context) (result accesscontrol.RolesListResponsePage, err error) + GetRoleDefinitionsComplete(ctx context.Context) (result accesscontrol.RolesListResponseIterator, err error) +} + +var _ ClientAPI = (*accesscontrol.Client)(nil) diff --git a/services/preview/synapse/2020-02-01-preview/accesscontrol/client.go b/services/preview/synapse/2020-02-01-preview/accesscontrol/client.go new file mode 100644 index 000000000000..78ef711c90c1 --- /dev/null +++ b/services/preview/synapse/2020-02-01-preview/accesscontrol/client.go @@ -0,0 +1,44 @@ +// Package accesscontrol implements the Azure ARM Accesscontrol service API version 2020-02-01-preview. +// +// +package accesscontrol + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +// BaseClient is the base client for Accesscontrol. +type BaseClient struct { + autorest.Client + Endpoint string +} + +// New creates an instance of the BaseClient client. +func New(endpoint string) BaseClient { + return NewWithoutDefaults(endpoint) +} + +// NewWithoutDefaults creates an instance of the BaseClient client. +func NewWithoutDefaults(endpoint string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + Endpoint: endpoint, + } +} diff --git a/services/preview/synapse/2020-02-01-preview/accesscontrol/models.go b/services/preview/synapse/2020-02-01-preview/accesscontrol/models.go new file mode 100644 index 000000000000..85b869983561 --- /dev/null +++ b/services/preview/synapse/2020-02-01-preview/accesscontrol/models.go @@ -0,0 +1,238 @@ +package accesscontrol + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2020-02-01-preview/accesscontrol" + +// ErrorContract contains details when the response code indicates an error. +type ErrorContract struct { + // Error - The error details. + Error *ErrorResponse `json:"error,omitempty"` +} + +// ErrorDetail ... +type ErrorDetail struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` +} + +// ErrorResponse ... +type ErrorResponse struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` + Details *[]ErrorDetail `json:"details,omitempty"` +} + +// ListRoleAssignmentDetails ... +type ListRoleAssignmentDetails struct { + autorest.Response `json:"-"` + Value *[]RoleAssignmentDetails `json:"value,omitempty"` +} + +// ListString ... +type ListString struct { + autorest.Response `json:"-"` + Value *[]string `json:"value,omitempty"` +} + +// RoleAssignmentDetails role Assignment response details +type RoleAssignmentDetails struct { + autorest.Response `json:"-"` + // ID - Role Assignment ID + ID *string `json:"id,omitempty"` + // RoleID - Role ID of the Synapse Built-In Role + RoleID *string `json:"roleId,omitempty"` + // PrincipalID - Object ID of the AAD principal or security-group + PrincipalID *string `json:"principalId,omitempty"` +} + +// RoleAssignmentOptions role Assignment request details +type RoleAssignmentOptions struct { + // RoleID - Role ID of the Synapse Built-In Role + RoleID *string `json:"roleId,omitempty"` + // PrincipalID - Object ID of the AAD principal or security-group + PrincipalID *string `json:"principalId,omitempty"` +} + +// RolesListResponse a list of Synapse roles available. +type RolesListResponse struct { + autorest.Response `json:"-"` + // Value - List of Synapse roles. + Value *[]SynapseRole `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// RolesListResponseIterator provides access to a complete listing of SynapseRole values. +type RolesListResponseIterator struct { + i int + page RolesListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RolesListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RolesListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RolesListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RolesListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RolesListResponseIterator) Response() RolesListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RolesListResponseIterator) Value() SynapseRole { + if !iter.page.NotDone() { + return SynapseRole{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RolesListResponseIterator type. +func NewRolesListResponseIterator(page RolesListResponsePage) RolesListResponseIterator { + return RolesListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rlr RolesListResponse) IsEmpty() bool { + return rlr.Value == nil || len(*rlr.Value) == 0 +} + +// rolesListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rlr RolesListResponse) rolesListResponsePreparer(ctx context.Context) (*http.Request, error) { + if rlr.NextLink == nil || len(to.String(rlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rlr.NextLink))) +} + +// RolesListResponsePage contains a page of SynapseRole values. +type RolesListResponsePage struct { + fn func(context.Context, RolesListResponse) (RolesListResponse, error) + rlr RolesListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RolesListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RolesListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rlr) + if err != nil { + return err + } + page.rlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RolesListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RolesListResponsePage) NotDone() bool { + return !page.rlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RolesListResponsePage) Response() RolesListResponse { + return page.rlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RolesListResponsePage) Values() []SynapseRole { + if page.rlr.IsEmpty() { + return nil + } + return *page.rlr.Value +} + +// Creates a new instance of the RolesListResponsePage type. +func NewRolesListResponsePage(getNextPage func(context.Context, RolesListResponse) (RolesListResponse, error)) RolesListResponsePage { + return RolesListResponsePage{fn: getNextPage} +} + +// SynapseRole synapse role details +type SynapseRole struct { + autorest.Response `json:"-"` + // ID - Role ID + ID *string `json:"id,omitempty"` + // Name - Name of the Synapse role + Name *string `json:"name,omitempty"` + // IsBuiltIn - Is a built-in role or not + IsBuiltIn *bool `json:"isBuiltIn,omitempty"` +} diff --git a/services/preview/synapse/2020-02-01-preview/accesscontrol/version.go b/services/preview/synapse/2020-02-01-preview/accesscontrol/version.go new file mode 100644 index 000000000000..10b00556aef1 --- /dev/null +++ b/services/preview/synapse/2020-02-01-preview/accesscontrol/version.go @@ -0,0 +1,30 @@ +package accesscontrol + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + Version() + " accesscontrol/2020-02-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/synapse/mgmt/2019-06-01-preview/synapse/bigdatapools.go b/services/preview/synapse/mgmt/2019-06-01-preview/synapse/bigdatapools.go index 158b918a49c4..82c427f846d7 100644 --- a/services/preview/synapse/mgmt/2019-06-01-preview/synapse/bigdatapools.go +++ b/services/preview/synapse/mgmt/2019-06-01-preview/synapse/bigdatapools.go @@ -66,14 +66,7 @@ func (client BigDataPoolsClient) CreateOrUpdate(ctx context.Context, resourceGro {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, - {TargetValue: bigDataPoolInfo, - Constraints: []validation.Constraint{{Target: "bigDataPoolInfo.BigDataPoolResourceProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "bigDataPoolInfo.BigDataPoolResourceProperties.NodeCount", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "bigDataPoolInfo.BigDataPoolResourceProperties.NodeCount", Name: validation.InclusiveMaximum, Rule: int64(200), Chain: nil}, - {Target: "bigDataPoolInfo.BigDataPoolResourceProperties.NodeCount", Name: validation.InclusiveMinimum, Rule: int64(3), Chain: nil}, - }}, - }}}}}); err != nil { + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { return result, validation.NewError("synapse.BigDataPoolsClient", "CreateOrUpdate", err.Error()) } diff --git a/version/version.go b/version/version.go index fff548351344..0de9ac689de4 100644 --- a/version/version.go +++ b/version/version.go @@ -18,4 +18,4 @@ package version // Changes may cause incorrect behavior and will be lost if the code is regenerated. // Number contains the semantic version of this SDK. -const Number = "v43.2.0" +const Number = "v43.3.0"