internal static IndexingParametersConfiguration DeserializeIndexingParametersConfiguration(JsonElement element) { Optional <BlobIndexerParsingMode> parsingMode = default; Optional <string> excludedFileNameExtensions = default; Optional <string> indexedFileNameExtensions = default; Optional <bool> failOnUnsupportedContentType = default; Optional <bool> failOnUnprocessableDocument = default; Optional <bool> indexStorageMetadataOnlyForOversizedDocuments = default; Optional <string> delimitedTextHeaders = default; Optional <string> delimitedTextDelimiter = default; Optional <bool> firstLineContainsHeaders = default; Optional <string> documentRoot = default; Optional <BlobIndexerDataToExtract> dataToExtract = default; Optional <BlobIndexerImageAction> imageAction = default; Optional <bool> allowSkillsetToReadFileData = default; Optional <BlobIndexerPdfTextRotationAlgorithm> pdfTextRotationAlgorithm = default; Optional <IndexerExecutionEnvironment> executionEnvironment = default; Optional <string> queryTimeout = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("parsingMode")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } parsingMode = new BlobIndexerParsingMode(property.Value.GetString()); continue; } if (property.NameEquals("excludedFileNameExtensions")) { excludedFileNameExtensions = property.Value.GetString(); continue; } if (property.NameEquals("indexedFileNameExtensions")) { indexedFileNameExtensions = property.Value.GetString(); continue; } if (property.NameEquals("failOnUnsupportedContentType")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } failOnUnsupportedContentType = property.Value.GetBoolean(); continue; } if (property.NameEquals("failOnUnprocessableDocument")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } failOnUnprocessableDocument = property.Value.GetBoolean(); continue; } if (property.NameEquals("indexStorageMetadataOnlyForOversizedDocuments")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } indexStorageMetadataOnlyForOversizedDocuments = property.Value.GetBoolean(); continue; } if (property.NameEquals("delimitedTextHeaders")) { delimitedTextHeaders = property.Value.GetString(); continue; } if (property.NameEquals("delimitedTextDelimiter")) { delimitedTextDelimiter = property.Value.GetString(); continue; } if (property.NameEquals("firstLineContainsHeaders")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } firstLineContainsHeaders = property.Value.GetBoolean(); continue; } if (property.NameEquals("documentRoot")) { documentRoot = property.Value.GetString(); continue; } if (property.NameEquals("dataToExtract")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } dataToExtract = new BlobIndexerDataToExtract(property.Value.GetString()); continue; } if (property.NameEquals("imageAction")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } imageAction = new BlobIndexerImageAction(property.Value.GetString()); continue; } if (property.NameEquals("allowSkillsetToReadFileData")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } allowSkillsetToReadFileData = property.Value.GetBoolean(); continue; } if (property.NameEquals("pdfTextRotationAlgorithm")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } pdfTextRotationAlgorithm = new BlobIndexerPdfTextRotationAlgorithm(property.Value.GetString()); continue; } if (property.NameEquals("executionEnvironment")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } executionEnvironment = new IndexerExecutionEnvironment(property.Value.GetString()); continue; } if (property.NameEquals("queryTimeout")) { queryTimeout = property.Value.GetString(); continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new IndexingParametersConfiguration(Optional.ToNullable(parsingMode), excludedFileNameExtensions.Value, indexedFileNameExtensions.Value, Optional.ToNullable(failOnUnsupportedContentType), Optional.ToNullable(failOnUnprocessableDocument), Optional.ToNullable(indexStorageMetadataOnlyForOversizedDocuments), delimitedTextHeaders.Value, delimitedTextDelimiter.Value, Optional.ToNullable(firstLineContainsHeaders), documentRoot.Value, Optional.ToNullable(dataToExtract), Optional.ToNullable(imageAction), Optional.ToNullable(allowSkillsetToReadFileData), Optional.ToNullable(pdfTextRotationAlgorithm), Optional.ToNullable(executionEnvironment), queryTimeout.Value, additionalProperties)); }