internal DataSource(string name, string description, DataSourceType type, DataSourceCredentials credentials, DataContainer container, DataChangeDetectionPolicy dataChangeDetectionPolicy, DataDeletionDetectionPolicy dataDeletionDetectionPolicy, string eTag) { Name = name; Description = description; Type = type; Credentials = credentials; Container = container; DataChangeDetectionPolicy = dataChangeDetectionPolicy; DataDeletionDetectionPolicy = dataDeletionDetectionPolicy; ETag = eTag; }
internal SearchIndexerDataSource(string name, string description, SearchIndexerDataSourceType type, DataSourceCredentials credentialsInternal, SearchIndexerDataContainer container, DataChangeDetectionPolicy dataChangeDetectionPolicy, DataDeletionDetectionPolicy dataDeletionDetectionPolicy, string Etag) { Name = name; Description = description; Type = type; CredentialsInternal = credentialsInternal; Container = container; DataChangeDetectionPolicy = dataChangeDetectionPolicy; DataDeletionDetectionPolicy = dataDeletionDetectionPolicy; _etag = Etag; }
internal static DataDeletionDetectionPolicy DeserializeDataDeletionDetectionPolicy(JsonElement element) { if (element.TryGetProperty("@odata.type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy": return(SoftDeleteColumnDeletionDetectionPolicy.DeserializeSoftDeleteColumnDeletionDetectionPolicy(element)); } } DataDeletionDetectionPolicy result = new DataDeletionDetectionPolicy(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } } return(result); }
internal static SearchIndexerDataSource DeserializeSearchIndexerDataSource(JsonElement element) { string name = default; string description = default; SearchIndexerDataSourceType type = default; DataSourceCredentials credentials = default; SearchIndexerDataContainer container = default; DataChangeDetectionPolicy dataChangeDetectionPolicy = default; DataDeletionDetectionPolicy dataDeletionDetectionPolicy = default; string odataEtag = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = new SearchIndexerDataSourceType(property.Value.GetString()); continue; } if (property.NameEquals("credentials")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } credentials = DataSourceCredentials.DeserializeDataSourceCredentials(property.Value); continue; } if (property.NameEquals("container")) { container = SearchIndexerDataContainer.DeserializeSearchIndexerDataContainer(property.Value); continue; } if (property.NameEquals("dataChangeDetectionPolicy")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } dataChangeDetectionPolicy = DataChangeDetectionPolicy.DeserializeDataChangeDetectionPolicy(property.Value); continue; } if (property.NameEquals("dataDeletionDetectionPolicy")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } dataDeletionDetectionPolicy = DataDeletionDetectionPolicy.DeserializeDataDeletionDetectionPolicy(property.Value); continue; } if (property.NameEquals("@odata.etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } odataEtag = property.Value.GetString(); continue; } } return(new SearchIndexerDataSource(name, description, type, credentials, container, dataChangeDetectionPolicy, dataDeletionDetectionPolicy, odataEtag)); }
internal static DataSource DeserializeDataSource(JsonElement element) { DataSource result = new DataSource(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("type")) { result.Type = new DataSourceType(property.Value.GetString()); continue; } if (property.NameEquals("credentials")) { result.Credentials = DataSourceCredentials.DeserializeDataSourceCredentials(property.Value); continue; } if (property.NameEquals("container")) { result.Container = DataContainer.DeserializeDataContainer(property.Value); continue; } if (property.NameEquals("dataChangeDetectionPolicy")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DataChangeDetectionPolicy = DataChangeDetectionPolicy.DeserializeDataChangeDetectionPolicy(property.Value); continue; } if (property.NameEquals("dataDeletionDetectionPolicy")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DataDeletionDetectionPolicy = DataDeletionDetectionPolicy.DeserializeDataDeletionDetectionPolicy(property.Value); continue; } if (property.NameEquals("@odata.etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.ETag = property.Value.GetString(); continue; } } return(result); }