func unmarshalCopySinkClassification()

in sdk/resourcemanager/datafactory/armdatafactory/polymorphic_helpers.go [155:264]


func unmarshalCopySinkClassification(rawMsg json.RawMessage) (CopySinkClassification, error) {
	if rawMsg == nil || string(rawMsg) == "null" {
		return nil, nil
	}
	var m map[string]any
	if err := json.Unmarshal(rawMsg, &m); err != nil {
		return nil, err
	}
	var b CopySinkClassification
	switch m["type"] {
	case "AvroSink":
		b = &AvroSink{}
	case "AzureBlobFSSink":
		b = &AzureBlobFSSink{}
	case "AzureDataExplorerSink":
		b = &AzureDataExplorerSink{}
	case "AzureDataLakeStoreSink":
		b = &AzureDataLakeStoreSink{}
	case "AzureDatabricksDeltaLakeSink":
		b = &AzureDatabricksDeltaLakeSink{}
	case "AzureMySqlSink":
		b = &AzureMySQLSink{}
	case "AzurePostgreSqlSink":
		b = &AzurePostgreSQLSink{}
	case "AzureQueueSink":
		b = &AzureQueueSink{}
	case "AzureSearchIndexSink":
		b = &AzureSearchIndexSink{}
	case "AzureSqlSink":
		b = &AzureSQLSink{}
	case "AzureTableSink":
		b = &AzureTableSink{}
	case "BinarySink":
		b = &BinarySink{}
	case "BlobSink":
		b = &BlobSink{}
	case "CommonDataServiceForAppsSink":
		b = &CommonDataServiceForAppsSink{}
	case "CosmosDbMongoDbApiSink":
		b = &CosmosDbMongoDbAPISink{}
	case "CosmosDbSqlApiSink":
		b = &CosmosDbSQLAPISink{}
	case "DelimitedTextSink":
		b = &DelimitedTextSink{}
	case "DocumentDbCollectionSink":
		b = &DocumentDbCollectionSink{}
	case "DynamicsCrmSink":
		b = &DynamicsCrmSink{}
	case "DynamicsSink":
		b = &DynamicsSink{}
	case "FileSystemSink":
		b = &FileSystemSink{}
	case "IcebergSink":
		b = &IcebergSink{}
	case "InformixSink":
		b = &InformixSink{}
	case "JsonSink":
		b = &JSONSink{}
	case "LakeHouseTableSink":
		b = &LakeHouseTableSink{}
	case "MicrosoftAccessSink":
		b = &MicrosoftAccessSink{}
	case "MongoDbAtlasSink":
		b = &MongoDbAtlasSink{}
	case "MongoDbV2Sink":
		b = &MongoDbV2Sink{}
	case "OdbcSink":
		b = &OdbcSink{}
	case "OracleSink":
		b = &OracleSink{}
	case "OrcSink":
		b = &OrcSink{}
	case "ParquetSink":
		b = &ParquetSink{}
	case "RestSink":
		b = &RestSink{}
	case "SalesforceServiceCloudSink":
		b = &SalesforceServiceCloudSink{}
	case "SalesforceServiceCloudV2Sink":
		b = &SalesforceServiceCloudV2Sink{}
	case "SalesforceSink":
		b = &SalesforceSink{}
	case "SalesforceV2Sink":
		b = &SalesforceV2Sink{}
	case "SapCloudForCustomerSink":
		b = &SapCloudForCustomerSink{}
	case "SnowflakeSink":
		b = &SnowflakeSink{}
	case "SnowflakeV2Sink":
		b = &SnowflakeV2Sink{}
	case "SqlDWSink":
		b = &SQLDWSink{}
	case "SqlMISink":
		b = &SQLMISink{}
	case "SqlServerSink":
		b = &SQLServerSink{}
	case "SqlSink":
		b = &SQLSink{}
	case "TeradataSink":
		b = &TeradataSink{}
	case "WarehouseSink":
		b = &WarehouseSink{}
	default:
		b = &CopySink{}
	}
	if err := json.Unmarshal(rawMsg, b); err != nil {
		return nil, err
	}
	return b, nil
}