PrivateCatalog allows catalog consumers to retrieve Catalog, Product
and Version resources under a target resource context.
Catalog is computed based on the [Association][]s linked to the target
resource and its ancestors. Each association's
[google.cloud.privatecatalogproducer.v1beta.Catalog][] is transformed into a
Catalog. If multiple associations have the same parent
[google.cloud.privatecatalogproducer.v1beta.Catalog][], they are
de-duplicated into one Catalog. Users must have
cloudprivatecatalog.catalogTargets.get IAM permission on the resource
context in order to access catalogs. Catalog contains the resource name and
a subset of data of the original
[google.cloud.privatecatalogproducer.v1beta.Catalog][].
Product is child resource of the catalog. A Product contains the resource
name and a subset of the data of the original
[google.cloud.privatecatalogproducer.v1beta.Product][].
Version is child resource of the product. A Version contains the resource
name and a subset of the data of the original
[google.cloud.privatecatalogproducer.v1beta.Version][].
public override PagedEnumerable<SearchCatalogsResponse, Catalog> SearchCatalogs(SearchCatalogsRequest request, CallSettings callSettings = null)
Search [Catalog][google.cloud.privatecatalog.v1beta1.Catalog] resources that consumers have access to, within the
scope of the consumer cloud resource hierarchy context.
public override PagedAsyncEnumerable<SearchCatalogsResponse, Catalog> SearchCatalogsAsync(SearchCatalogsRequest request, CallSettings callSettings = null)
Search [Catalog][google.cloud.privatecatalog.v1beta1.Catalog] resources that consumers have access to, within the
scope of the consumer cloud resource hierarchy context.
public override PagedEnumerable<SearchProductsResponse, Product> SearchProducts(SearchProductsRequest request, CallSettings callSettings = null)
Search [Product][google.cloud.privatecatalog.v1beta1.Product] resources that consumers have access to, within the
scope of the consumer cloud resource hierarchy context.
public override PagedAsyncEnumerable<SearchProductsResponse, Product> SearchProductsAsync(SearchProductsRequest request, CallSettings callSettings = null)
Search [Product][google.cloud.privatecatalog.v1beta1.Product] resources that consumers have access to, within the
scope of the consumer cloud resource hierarchy context.
public override PagedEnumerable<SearchVersionsResponse, Version> SearchVersions(SearchVersionsRequest request, CallSettings callSettings = null)
Search [Version][google.cloud.privatecatalog.v1beta1.Version] resources that consumers have access to, within the
scope of the consumer cloud resource hierarchy context.
public override PagedAsyncEnumerable<SearchVersionsResponse, Version> SearchVersionsAsync(SearchVersionsRequest request, CallSettings callSettings = null)
Search [Version][google.cloud.privatecatalog.v1beta1.Version] resources that consumers have access to, within the
scope of the consumer cloud resource hierarchy context.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003e\u003ccode\u003ePrivateCatalogClientImpl\u003c/code\u003e is a client wrapper implementation for the Cloud Private Catalog v1beta1 API, designed for convenient use.\u003c/p\u003e\n"],["\u003cp\u003eThis client allows users to retrieve \u003ccode\u003eCatalog\u003c/code\u003e, \u003ccode\u003eProduct\u003c/code\u003e, and \u003ccode\u003eVersion\u003c/code\u003e resources within a specific resource context, based on associated catalogs.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePrivateCatalogClientImpl\u003c/code\u003e class inherits from \u003ccode\u003ePrivateCatalogClient\u003c/code\u003e and offers methods like \u003ccode\u003eSearchCatalogs\u003c/code\u003e, \u003ccode\u003eSearchProducts\u003c/code\u003e, and \u003ccode\u003eSearchVersions\u003c/code\u003e to explore resources.\u003c/p\u003e\n"],["\u003cp\u003eThe constructor of \u003ccode\u003ePrivateCatalogClientImpl\u003c/code\u003e requires a gRPC client, settings, and an optional logger to establish a connection and configure its behavior.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available for \u003ccode\u003ePrivateCatalogClientImpl\u003c/code\u003e is 2.0.0-beta05, with older versions 2.0.0-beta04 and 1.0.0-beta02 also listed.\u003c/p\u003e\n"]]],[],null,["# Cloud Private Catalog v1beta1 API - Class PrivateCatalogClientImpl (2.0.0-beta05)\n\nVersion latestkeyboard_arrow_down\n\n- [2.0.0-beta05 (latest)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClientImpl)\n- [2.0.0-beta04](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/2.0.0-beta04/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClientImpl)\n- [1.0.0-beta02](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/1.0.0-beta02/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClientImpl) \n\n public sealed class PrivateCatalogClientImpl : PrivateCatalogClient\n\nReference documentation and code samples for the Cloud Private Catalog v1beta1 API class PrivateCatalogClientImpl.\n\nPrivateCatalog client wrapper implementation, for convenient use. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e [PrivateCatalogClient](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient) \\\u003e PrivateCatalogClientImpl \n\nInherited Members\n-----------------\n\n[PrivateCatalogClient.DefaultEndpoint](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_DefaultEndpoint) \n[PrivateCatalogClient.DefaultScopes](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_DefaultScopes) \n[PrivateCatalogClient.ServiceMetadata](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_ServiceMetadata) \n[PrivateCatalogClient.CreateAsync(CancellationToken)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_CreateAsync_System_Threading_CancellationToken_) \n[PrivateCatalogClient.Create()](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_Create) \n[PrivateCatalogClient.ShutdownDefaultChannelsAsync()](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_ShutdownDefaultChannelsAsync) \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.PrivateCatalog.V1Beta1](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1)\n\nAssembly\n--------\n\nGoogle.Cloud.PrivateCatalog.V1Beta1.dll\n\nRemarks\n-------\n\n`PrivateCatalog` allows catalog consumers to retrieve `Catalog`, `Product`\nand `Version` resources under a target resource context.\n\n`Catalog` is computed based on the \\[Association\\]\\[\\]s linked to the target\nresource and its ancestors. Each association's\n\\[google.cloud.privatecatalogproducer.v1beta.Catalog\\]\\[\\] is transformed into a\n`Catalog`. If multiple associations have the same parent\n\\[google.cloud.privatecatalogproducer.v1beta.Catalog\\]\\[\\], they are\nde-duplicated into one `Catalog`. Users must have\n`cloudprivatecatalog.catalogTargets.get` IAM permission on the resource\ncontext in order to access catalogs. `Catalog` contains the resource name and\na subset of data of the original\n\\[google.cloud.privatecatalogproducer.v1beta.Catalog\\]\\[\\].\n\n`Product` is child resource of the catalog. A `Product` contains the resource\nname and a subset of the data of the original\n\\[google.cloud.privatecatalogproducer.v1beta.Product\\]\\[\\].\n\n`Version` is child resource of the product. A `Version` contains the resource\nname and a subset of the data of the original\n\\[google.cloud.privatecatalogproducer.v1beta.Version\\]\\[\\].\n\nConstructors\n------------\n\n### PrivateCatalogClientImpl(PrivateCatalogClient, PrivateCatalogSettings, ILogger)\n\n public PrivateCatalogClientImpl(PrivateCatalog.PrivateCatalogClient grpcClient, PrivateCatalogSettings settings, ILogger logger)\n\nConstructs a client wrapper for the PrivateCatalog service, with the specified gRPC client and settings.\n\nProperties\n----------\n\n### GrpcClient\n\n public override PrivateCatalog.PrivateCatalogClient GrpcClient { get; }\n\nThe underlying gRPC PrivateCatalog client\n\n**Overrides** \n[PrivateCatalogClient.GrpcClient](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_GrpcClient)\n\nMethods\n-------\n\n### SearchCatalogs(SearchCatalogsRequest, CallSettings)\n\n public override PagedEnumerable\u003cSearchCatalogsResponse, Catalog\u003e SearchCatalogs(SearchCatalogsRequest request, CallSettings callSettings = null)\n\nSearch \\[Catalog\\]\\[google.cloud.privatecatalog.v1beta1.Catalog\\] resources that consumers have access to, within the\nscope of the consumer cloud resource hierarchy context.\n\n**Overrides** \n[PrivateCatalogClient.SearchCatalogs(SearchCatalogsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_SearchCatalogs_Google_Cloud_PrivateCatalog_V1Beta1_SearchCatalogsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### SearchCatalogsAsync(SearchCatalogsRequest, CallSettings)\n\n public override PagedAsyncEnumerable\u003cSearchCatalogsResponse, Catalog\u003e SearchCatalogsAsync(SearchCatalogsRequest request, CallSettings callSettings = null)\n\nSearch \\[Catalog\\]\\[google.cloud.privatecatalog.v1beta1.Catalog\\] resources that consumers have access to, within the\nscope of the consumer cloud resource hierarchy context.\n\n**Overrides** \n[PrivateCatalogClient.SearchCatalogsAsync(SearchCatalogsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_SearchCatalogsAsync_Google_Cloud_PrivateCatalog_V1Beta1_SearchCatalogsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### SearchProducts(SearchProductsRequest, CallSettings)\n\n public override PagedEnumerable\u003cSearchProductsResponse, Product\u003e SearchProducts(SearchProductsRequest request, CallSettings callSettings = null)\n\nSearch \\[Product\\]\\[google.cloud.privatecatalog.v1beta1.Product\\] resources that consumers have access to, within the\nscope of the consumer cloud resource hierarchy context.\n\n**Overrides** \n[PrivateCatalogClient.SearchProducts(SearchProductsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_SearchProducts_Google_Cloud_PrivateCatalog_V1Beta1_SearchProductsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### SearchProductsAsync(SearchProductsRequest, CallSettings)\n\n public override PagedAsyncEnumerable\u003cSearchProductsResponse, Product\u003e SearchProductsAsync(SearchProductsRequest request, CallSettings callSettings = null)\n\nSearch \\[Product\\]\\[google.cloud.privatecatalog.v1beta1.Product\\] resources that consumers have access to, within the\nscope of the consumer cloud resource hierarchy context.\n\n**Overrides** \n[PrivateCatalogClient.SearchProductsAsync(SearchProductsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_SearchProductsAsync_Google_Cloud_PrivateCatalog_V1Beta1_SearchProductsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### SearchVersions(SearchVersionsRequest, CallSettings)\n\n public override PagedEnumerable\u003cSearchVersionsResponse, Version\u003e SearchVersions(SearchVersionsRequest request, CallSettings callSettings = null)\n\nSearch \\[Version\\]\\[google.cloud.privatecatalog.v1beta1.Version\\] resources that consumers have access to, within the\nscope of the consumer cloud resource hierarchy context.\n\n**Overrides** \n[PrivateCatalogClient.SearchVersions(SearchVersionsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_SearchVersions_Google_Cloud_PrivateCatalog_V1Beta1_SearchVersionsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### SearchVersionsAsync(SearchVersionsRequest, CallSettings)\n\n public override PagedAsyncEnumerable\u003cSearchVersionsResponse, Version\u003e SearchVersionsAsync(SearchVersionsRequest request, CallSettings callSettings = null)\n\nSearch \\[Version\\]\\[google.cloud.privatecatalog.v1beta1.Version\\] resources that consumers have access to, within the\nscope of the consumer cloud resource hierarchy context.\n\n**Overrides** \n[PrivateCatalogClient.SearchVersionsAsync(SearchVersionsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.PrivateCatalog.V1Beta1/latest/Google.Cloud.PrivateCatalog.V1Beta1.PrivateCatalogClient#Google_Cloud_PrivateCatalog_V1Beta1_PrivateCatalogClient_SearchVersionsAsync_Google_Cloud_PrivateCatalog_V1Beta1_SearchVersionsRequest_Google_Api_Gax_Grpc_CallSettings_)"]]