Base class for the server implementation of the service PrivateCatalog.
`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][].