Class CatalogServiceClient

java.lang.Object
com.google.cloud.retail.v2beta.CatalogServiceClient
All Implemented Interfaces:
BackgroundResource, AutoCloseable

@BetaApi @Generated("by gapic-generator-java") public class CatalogServiceClient extends Object implements BackgroundResource
Service Description: Service for managing catalog configuration.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
   Catalog catalog = Catalog.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   Catalog response = catalogServiceClient.updateCatalog(catalog, updateMask);
 }
 

Note: close() needs to be called on the CatalogServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

Methods
Method Description Method Variants

ListCatalogs

Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated with the project.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • listCatalogs(ListCatalogsRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • listCatalogs(LocationName parent)

  • listCatalogs(String parent)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • listCatalogsPagedCallable()

  • listCatalogsCallable()

UpdateCatalog

Updates the [Catalog][google.cloud.retail.v2beta.Catalog]s.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • updateCatalog(UpdateCatalogRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • updateCatalog(Catalog catalog, FieldMask updateMask)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • updateCatalogCallable()

SetDefaultBranch

Set a specified branch id as default branch. API methods such as [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search], [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct], [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts] will treat requests using "default_branch" to the actual branch id set as default.

For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/1`.

Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to route the traffic to this staging branch.

CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.

More specifically:

  • PredictionService will only return product IDs from branch {newBranch}.
  • SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set).
  • UserEventService will only join events with products from branch {newBranch}.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • setDefaultBranch(SetDefaultBranchRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • setDefaultBranch(CatalogName catalog)

  • setDefaultBranch(String catalog)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • setDefaultBranchCallable()

GetDefaultBranch

Get which branch is currently default branch set by [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch] method under a specified parent catalog.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • getDefaultBranch(GetDefaultBranchRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • getDefaultBranch(CatalogName catalog)

  • getDefaultBranch(String catalog)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • getDefaultBranchCallable()

GetCompletionConfig

Gets a [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig].

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • getCompletionConfig(GetCompletionConfigRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • getCompletionConfig(CompletionConfigName name)

  • getCompletionConfig(String name)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • getCompletionConfigCallable()

UpdateCompletionConfig

Updates the [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig]s.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • updateCompletionConfig(UpdateCompletionConfigRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • updateCompletionConfig(CompletionConfig completionConfig, FieldMask updateMask)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • updateCompletionConfigCallable()

GetAttributesConfig

Gets an [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • getAttributesConfig(GetAttributesConfigRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • getAttributesConfig(AttributesConfigName name)

  • getAttributesConfig(String name)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • getAttributesConfigCallable()

UpdateAttributesConfig

Updates the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • updateAttributesConfig(UpdateAttributesConfigRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • updateAttributesConfig(AttributesConfig attributesConfig, FieldMask updateMask)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • updateAttributesConfigCallable()

AddCatalogAttribute

Adds the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to add already exists, an ALREADY_EXISTS error is returned.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • addCatalogAttribute(AddCatalogAttributeRequest request)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • addCatalogAttributeCallable()

RemoveCatalogAttribute

Removes the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] from the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to remove does not exist, a NOT_FOUND error is returned.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • removeCatalogAttribute(RemoveCatalogAttributeRequest request)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • removeCatalogAttributeCallable()

BatchRemoveCatalogAttributes

Removes all specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s from the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • batchRemoveCatalogAttributes(BatchRemoveCatalogAttributesRequest request)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • batchRemoveCatalogAttributesCallable()

ReplaceCatalogAttribute

Replaces the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] in the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] by updating the catalog attribute with the same [CatalogAttribute.key][google.cloud.retail.v2beta.CatalogAttribute.key].

If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to replace does not exist, a NOT_FOUND error is returned.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • replaceCatalogAttribute(ReplaceCatalogAttributeRequest request)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • replaceCatalogAttributeCallable()

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of CatalogServiceSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 CatalogServiceSettings catalogServiceSettings =
     CatalogServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 CatalogServiceClient catalogServiceClient = CatalogServiceClient.create(catalogServiceSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 CatalogServiceSettings catalogServiceSettings =
     CatalogServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 CatalogServiceClient catalogServiceClient = CatalogServiceClient.create(catalogServiceSettings);
 

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 CatalogServiceSettings catalogServiceSettings =
     CatalogServiceSettings.newHttpJsonBuilder().build();
 CatalogServiceClient catalogServiceClient = CatalogServiceClient.create(catalogServiceSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

  • Constructor Details

    • CatalogServiceClient

      protected CatalogServiceClient(CatalogServiceSettings settings) throws IOException
      Constructs an instance of CatalogServiceClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
      Throws:
      IOException
    • CatalogServiceClient

      protected CatalogServiceClient(CatalogServiceStub stub)
  • Method Details

    • create

      public static final CatalogServiceClient create() throws IOException
      Constructs an instance of CatalogServiceClient with default settings.
      Throws:
      IOException
    • create

      public static final CatalogServiceClient create(CatalogServiceSettings settings) throws IOException
      Constructs an instance of CatalogServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
      Throws:
      IOException
    • create

      public static final CatalogServiceClient create(CatalogServiceStub stub)
      Constructs an instance of CatalogServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(CatalogServiceSettings).
    • getSettings

      public final CatalogServiceSettings getSettings()
    • getStub

      public CatalogServiceStub getStub()
    • listCatalogs

      Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated with the project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
         for (Catalog element : catalogServiceClient.listCatalogs(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. The account resource name with an associated location.

      If the caller does not have permission to list [Catalog][google.cloud.retail.v2beta.Catalog]s under this location, regardless of whether or not this location exists, a PERMISSION_DENIED error is returned.

      Throws:
      ApiException - if the remote call fails
    • listCatalogs

      public final CatalogServiceClient.ListCatalogsPagedResponse listCatalogs(String parent)
      Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated with the project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
         for (Catalog element : catalogServiceClient.listCatalogs(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. The account resource name with an associated location.

      If the caller does not have permission to list [Catalog][google.cloud.retail.v2beta.Catalog]s under this location, regardless of whether or not this location exists, a PERMISSION_DENIED error is returned.

      Throws:
      ApiException - if the remote call fails
    • listCatalogs

      Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated with the project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         ListCatalogsRequest request =
             ListCatalogsRequest.newBuilder()
                 .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .build();
         for (Catalog element : catalogServiceClient.listCatalogs(request).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • listCatalogsPagedCallable

      Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated with the project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         ListCatalogsRequest request =
             ListCatalogsRequest.newBuilder()
                 .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .build();
         ApiFuture<Catalog> future =
             catalogServiceClient.listCatalogsPagedCallable().futureCall(request);
         // Do something.
         for (Catalog element : future.get().iterateAll()) {
           // doThingsWith(element);
         }
       }
       
    • listCatalogsCallable

      public final UnaryCallable<ListCatalogsRequest,ListCatalogsResponse> listCatalogsCallable()
      Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated with the project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         ListCatalogsRequest request =
             ListCatalogsRequest.newBuilder()
                 .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .build();
         while (true) {
           ListCatalogsResponse response = catalogServiceClient.listCatalogsCallable().call(request);
           for (Catalog element : response.getCatalogsList()) {
             // doThingsWith(element);
           }
           String nextPageToken = response.getNextPageToken();
           if (!Strings.isNullOrEmpty(nextPageToken)) {
             request = request.toBuilder().setPageToken(nextPageToken).build();
           } else {
             break;
           }
         }
       }
       
    • updateCatalog

      public final Catalog updateCatalog(Catalog catalog, com.google.protobuf.FieldMask updateMask)
      Updates the [Catalog][google.cloud.retail.v2beta.Catalog]s.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         Catalog catalog = Catalog.newBuilder().build();
         FieldMask updateMask = FieldMask.newBuilder().build();
         Catalog response = catalogServiceClient.updateCatalog(catalog, updateMask);
       }
       
      Parameters:
      catalog - Required. The [Catalog][google.cloud.retail.v2beta.Catalog] to update.

      If the caller does not have permission to update the [Catalog][google.cloud.retail.v2beta.Catalog], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.

      If the [Catalog][google.cloud.retail.v2beta.Catalog] to update does not exist, a NOT_FOUND error is returned.

      updateMask - Indicates which fields in the provided [Catalog][google.cloud.retail.v2beta.Catalog] to update.

      If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.

      Throws:
      ApiException - if the remote call fails
    • updateCatalog

      public final Catalog updateCatalog(UpdateCatalogRequest request)
      Updates the [Catalog][google.cloud.retail.v2beta.Catalog]s.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         UpdateCatalogRequest request =
             UpdateCatalogRequest.newBuilder()
                 .setCatalog(Catalog.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         Catalog response = catalogServiceClient.updateCatalog(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • updateCatalogCallable

      public final UnaryCallable<UpdateCatalogRequest,Catalog> updateCatalogCallable()
      Updates the [Catalog][google.cloud.retail.v2beta.Catalog]s.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         UpdateCatalogRequest request =
             UpdateCatalogRequest.newBuilder()
                 .setCatalog(Catalog.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<Catalog> future = catalogServiceClient.updateCatalogCallable().futureCall(request);
         // Do something.
         Catalog response = future.get();
       }
       
    • setDefaultBranch

      public final void setDefaultBranch(CatalogName catalog)
      Set a specified branch id as default branch. API methods such as [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search], [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct], [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts] will treat requests using "default_branch" to the actual branch id set as default.

      For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/1`.

      Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to route the traffic to this staging branch.

      CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.

      More specifically:

      • PredictionService will only return product IDs from branch {newBranch}.
      • SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set).
      • UserEventService will only join events with products from branch {newBranch}.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         CatalogName catalog = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]");
         catalogServiceClient.setDefaultBranch(catalog);
       }
       
      Parameters:
      catalog - Full resource name of the catalog, such as `projects/*/locations/global/catalogs/default_catalog`.
      Throws:
      ApiException - if the remote call fails
    • setDefaultBranch

      public final void setDefaultBranch(String catalog)
      Set a specified branch id as default branch. API methods such as [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search], [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct], [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts] will treat requests using "default_branch" to the actual branch id set as default.

      For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/1`.

      Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to route the traffic to this staging branch.

      CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.

      More specifically:

      • PredictionService will only return product IDs from branch {newBranch}.
      • SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set).
      • UserEventService will only join events with products from branch {newBranch}.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         String catalog = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString();
         catalogServiceClient.setDefaultBranch(catalog);
       }
       
      Parameters:
      catalog - Full resource name of the catalog, such as `projects/*/locations/global/catalogs/default_catalog`.
      Throws:
      ApiException - if the remote call fails
    • setDefaultBranch

      public final void setDefaultBranch(SetDefaultBranchRequest request)
      Set a specified branch id as default branch. API methods such as [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search], [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct], [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts] will treat requests using "default_branch" to the actual branch id set as default.

      For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/1`.

      Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to route the traffic to this staging branch.

      CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.

      More specifically:

      • PredictionService will only return product IDs from branch {newBranch}.
      • SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set).
      • UserEventService will only join events with products from branch {newBranch}.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         SetDefaultBranchRequest request =
             SetDefaultBranchRequest.newBuilder()
                 .setCatalog(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setBranchId(
                     BranchName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[BRANCH]").toString())
                 .setNote("note3387378")
                 .setForce(true)
                 .build();
         catalogServiceClient.setDefaultBranch(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • setDefaultBranchCallable

      public final UnaryCallable<SetDefaultBranchRequest,com.google.protobuf.Empty> setDefaultBranchCallable()
      Set a specified branch id as default branch. API methods such as [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search], [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct], [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts] will treat requests using "default_branch" to the actual branch id set as default.

      For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to `projects/*/locations/*/catalogs/*/branches/1`.

      Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to route the traffic to this staging branch.

      CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.

      More specifically:

      • PredictionService will only return product IDs from branch {newBranch}.
      • SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set).
      • UserEventService will only join events with products from branch {newBranch}.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         SetDefaultBranchRequest request =
             SetDefaultBranchRequest.newBuilder()
                 .setCatalog(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setBranchId(
                     BranchName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[BRANCH]").toString())
                 .setNote("note3387378")
                 .setForce(true)
                 .build();
         ApiFuture<Empty> future = catalogServiceClient.setDefaultBranchCallable().futureCall(request);
         // Do something.
         future.get();
       }
       
    • getDefaultBranch

      public final GetDefaultBranchResponse getDefaultBranch(CatalogName catalog)
      Get which branch is currently default branch set by [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch] method under a specified parent catalog.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         CatalogName catalog = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]");
         GetDefaultBranchResponse response = catalogServiceClient.getDefaultBranch(catalog);
       }
       
      Parameters:
      catalog - The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`.
      Throws:
      ApiException - if the remote call fails
    • getDefaultBranch

      public final GetDefaultBranchResponse getDefaultBranch(String catalog)
      Get which branch is currently default branch set by [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch] method under a specified parent catalog.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         String catalog = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString();
         GetDefaultBranchResponse response = catalogServiceClient.getDefaultBranch(catalog);
       }
       
      Parameters:
      catalog - The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`.
      Throws:
      ApiException - if the remote call fails
    • getDefaultBranch

      public final GetDefaultBranchResponse getDefaultBranch(GetDefaultBranchRequest request)
      Get which branch is currently default branch set by [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch] method under a specified parent catalog.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         GetDefaultBranchRequest request =
             GetDefaultBranchRequest.newBuilder()
                 .setCatalog(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .build();
         GetDefaultBranchResponse response = catalogServiceClient.getDefaultBranch(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • getDefaultBranchCallable

      public final UnaryCallable<GetDefaultBranchRequest,GetDefaultBranchResponse> getDefaultBranchCallable()
      Get which branch is currently default branch set by [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch] method under a specified parent catalog.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         GetDefaultBranchRequest request =
             GetDefaultBranchRequest.newBuilder()
                 .setCatalog(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .build();
         ApiFuture<GetDefaultBranchResponse> future =
             catalogServiceClient.getDefaultBranchCallable().futureCall(request);
         // Do something.
         GetDefaultBranchResponse response = future.get();
       }
       
    • getCompletionConfig

      public final CompletionConfig getCompletionConfig(CompletionConfigName name)
      Gets a [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         CompletionConfigName name = CompletionConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]");
         CompletionConfig response = catalogServiceClient.getCompletionConfig(name);
       }
       
      Parameters:
      name - Required. Full CompletionConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig`
      Throws:
      ApiException - if the remote call fails
    • getCompletionConfig

      public final CompletionConfig getCompletionConfig(String name)
      Gets a [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         String name = CompletionConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString();
         CompletionConfig response = catalogServiceClient.getCompletionConfig(name);
       }
       
      Parameters:
      name - Required. Full CompletionConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig`
      Throws:
      ApiException - if the remote call fails
    • getCompletionConfig

      public final CompletionConfig getCompletionConfig(GetCompletionConfigRequest request)
      Gets a [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         GetCompletionConfigRequest request =
             GetCompletionConfigRequest.newBuilder()
                 .setName(CompletionConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .build();
         CompletionConfig response = catalogServiceClient.getCompletionConfig(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • getCompletionConfigCallable

      public final UnaryCallable<GetCompletionConfigRequest,CompletionConfig> getCompletionConfigCallable()
      Gets a [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         GetCompletionConfigRequest request =
             GetCompletionConfigRequest.newBuilder()
                 .setName(CompletionConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .build();
         ApiFuture<CompletionConfig> future =
             catalogServiceClient.getCompletionConfigCallable().futureCall(request);
         // Do something.
         CompletionConfig response = future.get();
       }
       
    • updateCompletionConfig

      public final CompletionConfig updateCompletionConfig(CompletionConfig completionConfig, com.google.protobuf.FieldMask updateMask)
      Updates the [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig]s.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         CompletionConfig completionConfig = CompletionConfig.newBuilder().build();
         FieldMask updateMask = FieldMask.newBuilder().build();
         CompletionConfig response =
             catalogServiceClient.updateCompletionConfig(completionConfig, updateMask);
       }
       
      Parameters:
      completionConfig - Required. The [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig] to update.

      If the caller does not have permission to update the [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig], then a PERMISSION_DENIED error is returned.

      If the [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig] to update does not exist, a NOT_FOUND error is returned.

      updateMask - Indicates which fields in the provided [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig] to update. The following are the only supported fields:
      • [CompletionConfig.matching_order][google.cloud.retail.v2beta.CompletionConfig.matching_order]
      • [CompletionConfig.max_suggestions][google.cloud.retail.v2beta.CompletionConfig.max_suggestions]
      • [CompletionConfig.min_prefix_length][google.cloud.retail.v2beta.CompletionConfig.min_prefix_length]
      • [CompletionConfig.auto_learning][google.cloud.retail.v2beta.CompletionConfig.auto_learning]

      If not set, all supported fields are updated.

      Throws:
      ApiException - if the remote call fails
    • updateCompletionConfig

      public final CompletionConfig updateCompletionConfig(UpdateCompletionConfigRequest request)
      Updates the [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig]s.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         UpdateCompletionConfigRequest request =
             UpdateCompletionConfigRequest.newBuilder()
                 .setCompletionConfig(CompletionConfig.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         CompletionConfig response = catalogServiceClient.updateCompletionConfig(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • updateCompletionConfigCallable

      public final UnaryCallable<UpdateCompletionConfigRequest,CompletionConfig> updateCompletionConfigCallable()
      Updates the [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig]s.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         UpdateCompletionConfigRequest request =
             UpdateCompletionConfigRequest.newBuilder()
                 .setCompletionConfig(CompletionConfig.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<CompletionConfig> future =
             catalogServiceClient.updateCompletionConfigCallable().futureCall(request);
         // Do something.
         CompletionConfig response = future.get();
       }
       
    • getAttributesConfig

      public final AttributesConfig getAttributesConfig(AttributesConfigName name)
      Gets an [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         AttributesConfigName name = AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]");
         AttributesConfig response = catalogServiceClient.getAttributesConfig(name);
       }
       
      Parameters:
      name - Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
      Throws:
      ApiException - if the remote call fails
    • getAttributesConfig

      public final AttributesConfig getAttributesConfig(String name)
      Gets an [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         String name = AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString();
         AttributesConfig response = catalogServiceClient.getAttributesConfig(name);
       }
       
      Parameters:
      name - Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
      Throws:
      ApiException - if the remote call fails
    • getAttributesConfig

      public final AttributesConfig getAttributesConfig(GetAttributesConfigRequest request)
      Gets an [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         GetAttributesConfigRequest request =
             GetAttributesConfigRequest.newBuilder()
                 .setName(AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .build();
         AttributesConfig response = catalogServiceClient.getAttributesConfig(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • getAttributesConfigCallable

      public final UnaryCallable<GetAttributesConfigRequest,AttributesConfig> getAttributesConfigCallable()
      Gets an [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         GetAttributesConfigRequest request =
             GetAttributesConfigRequest.newBuilder()
                 .setName(AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .build();
         ApiFuture<AttributesConfig> future =
             catalogServiceClient.getAttributesConfigCallable().futureCall(request);
         // Do something.
         AttributesConfig response = future.get();
       }
       
    • updateAttributesConfig

      public final AttributesConfig updateAttributesConfig(AttributesConfig attributesConfig, com.google.protobuf.FieldMask updateMask)
      Updates the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         AttributesConfig attributesConfig = AttributesConfig.newBuilder().build();
         FieldMask updateMask = FieldMask.newBuilder().build();
         AttributesConfig response =
             catalogServiceClient.updateAttributesConfig(attributesConfig, updateMask);
       }
       
      Parameters:
      attributesConfig - Required. The [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] to update.
      updateMask - Indicates which fields in the provided [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] to update. The following is the only supported field:
      • [AttributesConfig.catalog_attributes][google.cloud.retail.v2beta.AttributesConfig.catalog_attributes]

      If not set, all supported fields are updated.

      Throws:
      ApiException - if the remote call fails
    • updateAttributesConfig

      public final AttributesConfig updateAttributesConfig(UpdateAttributesConfigRequest request)
      Updates the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         UpdateAttributesConfigRequest request =
             UpdateAttributesConfigRequest.newBuilder()
                 .setAttributesConfig(AttributesConfig.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         AttributesConfig response = catalogServiceClient.updateAttributesConfig(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • updateAttributesConfigCallable

      public final UnaryCallable<UpdateAttributesConfigRequest,AttributesConfig> updateAttributesConfigCallable()
      Updates the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         UpdateAttributesConfigRequest request =
             UpdateAttributesConfigRequest.newBuilder()
                 .setAttributesConfig(AttributesConfig.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<AttributesConfig> future =
             catalogServiceClient.updateAttributesConfigCallable().futureCall(request);
         // Do something.
         AttributesConfig response = future.get();
       }
       
    • addCatalogAttribute

      public final AttributesConfig addCatalogAttribute(AddCatalogAttributeRequest request)
      Adds the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to add already exists, an ALREADY_EXISTS error is returned.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         AddCatalogAttributeRequest request =
             AddCatalogAttributeRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setCatalogAttribute(CatalogAttribute.newBuilder().build())
                 .build();
         AttributesConfig response = catalogServiceClient.addCatalogAttribute(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • addCatalogAttributeCallable

      public final UnaryCallable<AddCatalogAttributeRequest,AttributesConfig> addCatalogAttributeCallable()
      Adds the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to add already exists, an ALREADY_EXISTS error is returned.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         AddCatalogAttributeRequest request =
             AddCatalogAttributeRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setCatalogAttribute(CatalogAttribute.newBuilder().build())
                 .build();
         ApiFuture<AttributesConfig> future =
             catalogServiceClient.addCatalogAttributeCallable().futureCall(request);
         // Do something.
         AttributesConfig response = future.get();
       }
       
    • removeCatalogAttribute

      public final AttributesConfig removeCatalogAttribute(RemoveCatalogAttributeRequest request)
      Removes the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] from the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to remove does not exist, a NOT_FOUND error is returned.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         RemoveCatalogAttributeRequest request =
             RemoveCatalogAttributeRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setKey("key106079")
                 .build();
         AttributesConfig response = catalogServiceClient.removeCatalogAttribute(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • removeCatalogAttributeCallable

      public final UnaryCallable<RemoveCatalogAttributeRequest,AttributesConfig> removeCatalogAttributeCallable()
      Removes the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] from the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to remove does not exist, a NOT_FOUND error is returned.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         RemoveCatalogAttributeRequest request =
             RemoveCatalogAttributeRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setKey("key106079")
                 .build();
         ApiFuture<AttributesConfig> future =
             catalogServiceClient.removeCatalogAttributeCallable().futureCall(request);
         // Do something.
         AttributesConfig response = future.get();
       }
       
    • batchRemoveCatalogAttributes

      public final BatchRemoveCatalogAttributesResponse batchRemoveCatalogAttributes(BatchRemoveCatalogAttributesRequest request)
      Removes all specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s from the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         BatchRemoveCatalogAttributesRequest request =
             BatchRemoveCatalogAttributesRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .addAllAttributeKeys(new ArrayList<String>())
                 .build();
         BatchRemoveCatalogAttributesResponse response =
             catalogServiceClient.batchRemoveCatalogAttributes(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • batchRemoveCatalogAttributesCallable

      public final UnaryCallable<BatchRemoveCatalogAttributesRequest,BatchRemoveCatalogAttributesResponse> batchRemoveCatalogAttributesCallable()
      Removes all specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s from the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         BatchRemoveCatalogAttributesRequest request =
             BatchRemoveCatalogAttributesRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .addAllAttributeKeys(new ArrayList<String>())
                 .build();
         ApiFuture<BatchRemoveCatalogAttributesResponse> future =
             catalogServiceClient.batchRemoveCatalogAttributesCallable().futureCall(request);
         // Do something.
         BatchRemoveCatalogAttributesResponse response = future.get();
       }
       
    • replaceCatalogAttribute

      public final AttributesConfig replaceCatalogAttribute(ReplaceCatalogAttributeRequest request)
      Replaces the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] in the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] by updating the catalog attribute with the same [CatalogAttribute.key][google.cloud.retail.v2beta.CatalogAttribute.key].

      If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to replace does not exist, a NOT_FOUND error is returned.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         ReplaceCatalogAttributeRequest request =
             ReplaceCatalogAttributeRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setCatalogAttribute(CatalogAttribute.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         AttributesConfig response = catalogServiceClient.replaceCatalogAttribute(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      ApiException - if the remote call fails
    • replaceCatalogAttributeCallable

      public final UnaryCallable<ReplaceCatalogAttributeRequest,AttributesConfig> replaceCatalogAttributeCallable()
      Replaces the specified [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] in the [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] by updating the catalog attribute with the same [CatalogAttribute.key][google.cloud.retail.v2beta.CatalogAttribute.key].

      If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to replace does not exist, a NOT_FOUND error is returned.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
         ReplaceCatalogAttributeRequest request =
             ReplaceCatalogAttributeRequest.newBuilder()
                 .setAttributesConfig(
                     AttributesConfigName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
                 .setCatalogAttribute(CatalogAttribute.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<AttributesConfig> future =
             catalogServiceClient.replaceCatalogAttributeCallable().futureCall(request);
         // Do something.
         AttributesConfig response = future.get();
       }
       
    • close

      public final void close()
      Specified by:
      close in interface AutoCloseable
    • shutdown

      public void shutdown()
      Specified by:
      shutdown in interface BackgroundResource
    • isShutdown

      public boolean isShutdown()
      Specified by:
      isShutdown in interface BackgroundResource
    • isTerminated

      public boolean isTerminated()
      Specified by:
      isTerminated in interface BackgroundResource
    • shutdownNow

      public void shutdownNow()
      Specified by:
      shutdownNow in interface BackgroundResource
    • awaitTermination

      public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
      Specified by:
      awaitTermination in interface BackgroundResource
      Throws:
      InterruptedException