internal static Dataset DeserializeDataset(JsonElement element) { if (element.TryGetProperty("type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "AmazonMWSObject": return(AmazonMWSObjectDataset.DeserializeAmazonMWSObjectDataset(element)); case "AmazonRdsForOracleTable": return(AmazonRdsForOracleTableDataset.DeserializeAmazonRdsForOracleTableDataset(element)); case "AmazonRdsForSqlServerTable": return(AmazonRdsForSqlServerTableDataset.DeserializeAmazonRdsForSqlServerTableDataset(element)); case "AmazonRedshiftTable": return(AmazonRedshiftTableDataset.DeserializeAmazonRedshiftTableDataset(element)); case "AmazonS3Object": return(AmazonS3Dataset.DeserializeAmazonS3Dataset(element)); case "Avro": return(AvroDataset.DeserializeAvroDataset(element)); case "AzureBlob": return(AzureBlobDataset.DeserializeAzureBlobDataset(element)); case "AzureBlobFSFile": return(AzureBlobFSDataset.DeserializeAzureBlobFSDataset(element)); case "AzureDataExplorerTable": return(AzureDataExplorerTableDataset.DeserializeAzureDataExplorerTableDataset(element)); case "AzureDataLakeStoreFile": return(AzureDataLakeStoreDataset.DeserializeAzureDataLakeStoreDataset(element)); case "AzureDatabricksDeltaLakeDataset": return(AzureDatabricksDeltaLakeDataset.DeserializeAzureDatabricksDeltaLakeDataset(element)); case "AzureMariaDBTable": return(AzureMariaDBTableDataset.DeserializeAzureMariaDBTableDataset(element)); case "AzureMySqlTable": return(AzureMySqlTableDataset.DeserializeAzureMySqlTableDataset(element)); case "AzurePostgreSqlTable": return(AzurePostgreSqlTableDataset.DeserializeAzurePostgreSqlTableDataset(element)); case "AzureSearchIndex": return(AzureSearchIndexDataset.DeserializeAzureSearchIndexDataset(element)); case "AzureSqlDWTable": return(AzureSqlDWTableDataset.DeserializeAzureSqlDWTableDataset(element)); case "AzureSqlMITable": return(AzureSqlMITableDataset.DeserializeAzureSqlMITableDataset(element)); case "AzureSqlTable": return(AzureSqlTableDataset.DeserializeAzureSqlTableDataset(element)); case "AzureTable": return(AzureTableDataset.DeserializeAzureTableDataset(element)); case "Binary": return(BinaryDataset.DeserializeBinaryDataset(element)); case "CassandraTable": return(CassandraTableDataset.DeserializeCassandraTableDataset(element)); case "CommonDataServiceForAppsEntity": return(CommonDataServiceForAppsEntityDataset.DeserializeCommonDataServiceForAppsEntityDataset(element)); case "ConcurObject": return(ConcurObjectDataset.DeserializeConcurObjectDataset(element)); case "CosmosDbMongoDbApiCollection": return(CosmosDbMongoDbApiCollectionDataset.DeserializeCosmosDbMongoDbApiCollectionDataset(element)); case "CosmosDbSqlApiCollection": return(CosmosDbSqlApiCollectionDataset.DeserializeCosmosDbSqlApiCollectionDataset(element)); case "CouchbaseTable": return(CouchbaseTableDataset.DeserializeCouchbaseTableDataset(element)); case "CustomDataset": return(CustomDataset.DeserializeCustomDataset(element)); case "Db2Table": return(Db2TableDataset.DeserializeDb2TableDataset(element)); case "DelimitedText": return(DelimitedTextDataset.DeserializeDelimitedTextDataset(element)); case "DocumentDbCollection": return(DocumentDbCollectionDataset.DeserializeDocumentDbCollectionDataset(element)); case "DrillTable": return(DrillTableDataset.DeserializeDrillTableDataset(element)); case "DynamicsAXResource": return(DynamicsAXResourceDataset.DeserializeDynamicsAXResourceDataset(element)); case "DynamicsCrmEntity": return(DynamicsCrmEntityDataset.DeserializeDynamicsCrmEntityDataset(element)); case "DynamicsEntity": return(DynamicsEntityDataset.DeserializeDynamicsEntityDataset(element)); case "EloquaObject": return(EloquaObjectDataset.DeserializeEloquaObjectDataset(element)); case "Excel": return(ExcelDataset.DeserializeExcelDataset(element)); case "FileShare": return(FileShareDataset.DeserializeFileShareDataset(element)); case "GoogleAdWordsObject": return(GoogleAdWordsObjectDataset.DeserializeGoogleAdWordsObjectDataset(element)); case "GoogleBigQueryObject": return(GoogleBigQueryObjectDataset.DeserializeGoogleBigQueryObjectDataset(element)); case "GreenplumTable": return(GreenplumTableDataset.DeserializeGreenplumTableDataset(element)); case "HBaseObject": return(HBaseObjectDataset.DeserializeHBaseObjectDataset(element)); case "HiveObject": return(HiveObjectDataset.DeserializeHiveObjectDataset(element)); case "HttpFile": return(HttpDataset.DeserializeHttpDataset(element)); case "HubspotObject": return(HubspotObjectDataset.DeserializeHubspotObjectDataset(element)); case "ImpalaObject": return(ImpalaObjectDataset.DeserializeImpalaObjectDataset(element)); case "InformixTable": return(InformixTableDataset.DeserializeInformixTableDataset(element)); case "JiraObject": return(JiraObjectDataset.DeserializeJiraObjectDataset(element)); case "Json": return(JsonDataset.DeserializeJsonDataset(element)); case "MagentoObject": return(MagentoObjectDataset.DeserializeMagentoObjectDataset(element)); case "MariaDBTable": return(MariaDBTableDataset.DeserializeMariaDBTableDataset(element)); case "MarketoObject": return(MarketoObjectDataset.DeserializeMarketoObjectDataset(element)); case "MicrosoftAccessTable": return(MicrosoftAccessTableDataset.DeserializeMicrosoftAccessTableDataset(element)); case "MongoDbAtlasCollection": return(MongoDbAtlasCollectionDataset.DeserializeMongoDbAtlasCollectionDataset(element)); case "MongoDbCollection": return(MongoDbCollectionDataset.DeserializeMongoDbCollectionDataset(element)); case "MongoDbV2Collection": return(MongoDbV2CollectionDataset.DeserializeMongoDbV2CollectionDataset(element)); case "MySqlTable": return(MySqlTableDataset.DeserializeMySqlTableDataset(element)); case "NetezzaTable": return(NetezzaTableDataset.DeserializeNetezzaTableDataset(element)); case "ODataResource": return(ODataResourceDataset.DeserializeODataResourceDataset(element)); case "OdbcTable": return(OdbcTableDataset.DeserializeOdbcTableDataset(element)); case "Office365Table": return(Office365Dataset.DeserializeOffice365Dataset(element)); case "OracleServiceCloudObject": return(OracleServiceCloudObjectDataset.DeserializeOracleServiceCloudObjectDataset(element)); case "OracleTable": return(OracleTableDataset.DeserializeOracleTableDataset(element)); case "Orc": return(OrcDataset.DeserializeOrcDataset(element)); case "Parquet": return(ParquetDataset.DeserializeParquetDataset(element)); case "PaypalObject": return(PaypalObjectDataset.DeserializePaypalObjectDataset(element)); case "PhoenixObject": return(PhoenixObjectDataset.DeserializePhoenixObjectDataset(element)); case "PostgreSqlTable": return(PostgreSqlTableDataset.DeserializePostgreSqlTableDataset(element)); case "PrestoObject": return(PrestoObjectDataset.DeserializePrestoObjectDataset(element)); case "QuickBooksObject": return(QuickBooksObjectDataset.DeserializeQuickBooksObjectDataset(element)); case "RelationalTable": return(RelationalTableDataset.DeserializeRelationalTableDataset(element)); case "ResponsysObject": return(ResponsysObjectDataset.DeserializeResponsysObjectDataset(element)); case "RestResource": return(RestResourceDataset.DeserializeRestResourceDataset(element)); case "SalesforceMarketingCloudObject": return(SalesforceMarketingCloudObjectDataset.DeserializeSalesforceMarketingCloudObjectDataset(element)); case "SalesforceObject": return(SalesforceObjectDataset.DeserializeSalesforceObjectDataset(element)); case "SalesforceServiceCloudObject": return(SalesforceServiceCloudObjectDataset.DeserializeSalesforceServiceCloudObjectDataset(element)); case "SapBwCube": return(SapBwCubeDataset.DeserializeSapBwCubeDataset(element)); case "SapCloudForCustomerResource": return(SapCloudForCustomerResourceDataset.DeserializeSapCloudForCustomerResourceDataset(element)); case "SapEccResource": return(SapEccResourceDataset.DeserializeSapEccResourceDataset(element)); case "SapHanaTable": return(SapHanaTableDataset.DeserializeSapHanaTableDataset(element)); case "SapOpenHubTable": return(SapOpenHubTableDataset.DeserializeSapOpenHubTableDataset(element)); case "SapTableResource": return(SapTableResourceDataset.DeserializeSapTableResourceDataset(element)); case "ServiceNowObject": return(ServiceNowObjectDataset.DeserializeServiceNowObjectDataset(element)); case "SharePointOnlineListResource": return(SharePointOnlineListResourceDataset.DeserializeSharePointOnlineListResourceDataset(element)); case "ShopifyObject": return(ShopifyObjectDataset.DeserializeShopifyObjectDataset(element)); case "SnowflakeTable": return(SnowflakeDataset.DeserializeSnowflakeDataset(element)); case "SparkObject": return(SparkObjectDataset.DeserializeSparkObjectDataset(element)); case "SqlServerTable": return(SqlServerTableDataset.DeserializeSqlServerTableDataset(element)); case "SquareObject": return(SquareObjectDataset.DeserializeSquareObjectDataset(element)); case "SybaseTable": return(SybaseTableDataset.DeserializeSybaseTableDataset(element)); case "TeradataTable": return(TeradataTableDataset.DeserializeTeradataTableDataset(element)); case "VerticaTable": return(VerticaTableDataset.DeserializeVerticaTableDataset(element)); case "WebTable": return(WebTableDataset.DeserializeWebTableDataset(element)); case "XeroObject": return(XeroObjectDataset.DeserializeXeroObjectDataset(element)); case "Xml": return(XmlDataset.DeserializeXmlDataset(element)); case "ZohoObject": return(ZohoObjectDataset.DeserializeZohoObjectDataset(element)); } } string type = default; Optional <string> description = default; Optional <object> structure = default; Optional <object> schema = default; LinkedServiceReference linkedServiceName = default; Optional <IDictionary <string, ParameterSpecification> > parameters = default; Optional <IList <object> > annotations = default; Optional <DatasetFolder> folder = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("description")) { description = property.Value.GetString(); continue; } if (property.NameEquals("structure")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } structure = property.Value.GetObject(); continue; } if (property.NameEquals("schema")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } schema = property.Value.GetObject(); continue; } if (property.NameEquals("linkedServiceName")) { linkedServiceName = LinkedServiceReference.DeserializeLinkedServiceReference(property.Value); continue; } if (property.NameEquals("parameters")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, ParameterSpecification> dictionary = new Dictionary <string, ParameterSpecification>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, ParameterSpecification.DeserializeParameterSpecification(property0.Value)); } parameters = dictionary; continue; } if (property.NameEquals("annotations")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <object> array = new List <object>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetObject()); } annotations = array; continue; } if (property.NameEquals("folder")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } folder = DatasetFolder.DeserializeDatasetFolder(property.Value); continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new Dataset(type, description.Value, structure.Value, schema.Value, linkedServiceName, Optional.ToDictionary(parameters), Optional.ToList(annotations), folder.Value, additionalProperties)); }