Class RecommenderClient (2.54.0)

GitHub RepositoryProduct Reference

Service Description: Provides insights and recommendations for cloud customers for various categories like performance optimization, cost savings, reliability, feature discovery, etc. Insights and recommendations are generated automatically based on analysis of user resources, configuration and monitoring metrics.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightName name =
       InsightName.ofProjectLocationInsightTypeInsightName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]");
   Insight response = recommenderClient.getInsight(name);
 }
 

Note: close() needs to be called on the RecommenderClient 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

ListInsights

Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.

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

  • listInsights(ListInsightsRequest request)

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

  • listInsights(InsightTypeName parent)

  • listInsights(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.

  • listInsightsPagedCallable()

  • listInsightsCallable()

GetInsight

Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.

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

  • getInsight(GetInsightRequest request)

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

  • getInsight(InsightName name)

  • getInsight(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.

  • getInsightCallable()

MarkInsightAccepted

Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated.

MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.

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

  • markInsightAccepted(MarkInsightAcceptedRequest request)

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

  • markInsightAccepted(InsightName name, Map<String, String> stateMetadata, String etag)

  • markInsightAccepted(String name, Map<String, String> stateMetadata, String etag)

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

  • markInsightAcceptedCallable()

ListRecommendations

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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

  • listRecommendations(ListRecommendationsRequest request)

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

  • listRecommendations(RecommenderName parent)

  • listRecommendations(String parent)

  • listRecommendations(RecommenderName parent, String filter)

  • listRecommendations(String parent, String filter)

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

  • listRecommendationsPagedCallable()

  • listRecommendationsCallable()

GetRecommendation

Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.

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

  • getRecommendation(GetRecommendationRequest request)

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

  • getRecommendation(RecommendationName name)

  • getRecommendation(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.

  • getRecommendationCallable()

MarkRecommendationDismissed

Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED.

MarkRecommendationDismissed can be applied to recommendations in ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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

  • markRecommendationDismissed(MarkRecommendationDismissedRequest request)

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

  • markRecommendationDismissedCallable()

MarkRecommendationClaimed

Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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

  • markRecommendationClaimed(MarkRecommendationClaimedRequest request)

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

  • markRecommendationClaimed(RecommendationName name, Map<String, String> stateMetadata, String etag)

  • markRecommendationClaimed(String name, Map<String, String> stateMetadata, String etag)

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

  • markRecommendationClaimedCallable()

MarkRecommendationSucceeded

Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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

  • markRecommendationSucceeded(MarkRecommendationSucceededRequest request)

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

  • markRecommendationSucceeded(RecommendationName name, Map<String, String> stateMetadata, String etag)

  • markRecommendationSucceeded(String name, Map<String, String> stateMetadata, String etag)

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

  • markRecommendationSucceededCallable()

MarkRecommendationFailed

Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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

  • markRecommendationFailed(MarkRecommendationFailedRequest request)

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

  • markRecommendationFailed(RecommendationName name, Map<String, String> stateMetadata, String etag)

  • markRecommendationFailed(String name, Map<String, String> stateMetadata, String etag)

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

  • markRecommendationFailedCallable()

GetRecommenderConfig

Gets the requested Recommender Config. There is only one instance of the config for each Recommender.

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

  • getRecommenderConfig(GetRecommenderConfigRequest request)

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

  • getRecommenderConfig(RecommenderConfigName name)

  • getRecommenderConfig(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.

  • getRecommenderConfigCallable()

UpdateRecommenderConfig

Updates a Recommender Config. This will create a new revision of the config.

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

  • updateRecommenderConfig(UpdateRecommenderConfigRequest request)

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

  • updateRecommenderConfig(RecommenderConfig recommenderConfig, 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.

  • updateRecommenderConfigCallable()

GetInsightTypeConfig

Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.

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

  • getInsightTypeConfig(GetInsightTypeConfigRequest request)

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

  • getInsightTypeConfig(InsightTypeConfigName name)

  • getInsightTypeConfig(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.

  • getInsightTypeConfigCallable()

UpdateInsightTypeConfig

Updates an InsightTypeConfig change. This will create a new revision of the config.

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

  • updateInsightTypeConfig(UpdateInsightTypeConfigRequest request)

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

  • updateInsightTypeConfig(InsightTypeConfig insightTypeConfig, 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.

  • updateInsightTypeConfigCallable()

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 RecommenderSettings 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
 RecommenderSettings recommenderSettings =
     RecommenderSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 RecommenderClient recommenderClient = RecommenderClient.create(recommenderSettings);
 

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
 RecommenderSettings recommenderSettings =
     RecommenderSettings.newBuilder().setEndpoint(myEndpoint).build();
 RecommenderClient recommenderClient = RecommenderClient.create(recommenderSettings);
 

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
 RecommenderSettings recommenderSettings = RecommenderSettings.newHttpJsonBuilder().build();
 RecommenderClient recommenderClient = RecommenderClient.create(recommenderSettings);
 

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

Inheritance

java.lang.Object > RecommenderClient

Static Methods

create()

public static final RecommenderClient create()

Constructs an instance of RecommenderClient with default settings.

Returns
Type Description
RecommenderClient
Exceptions
Type Description
IOException

create(RecommenderSettings settings)

public static final RecommenderClient create(RecommenderSettings settings)

Constructs an instance of RecommenderClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
Name Description
settings RecommenderSettings
Returns
Type Description
RecommenderClient
Exceptions
Type Description
IOException

create(RecommenderStub stub)

public static final RecommenderClient create(RecommenderStub stub)

Constructs an instance of RecommenderClient, using the given stub for making calls. This is for advanced usage - prefer using create(RecommenderSettings).

Parameter
Name Description
stub RecommenderStub
Returns
Type Description
RecommenderClient

Constructors

RecommenderClient(RecommenderSettings settings)

protected RecommenderClient(RecommenderSettings settings)

Constructs an instance of RecommenderClient, 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.

Parameter
Name Description
settings RecommenderSettings

RecommenderClient(RecommenderStub stub)

protected RecommenderClient(RecommenderStub stub)
Parameter
Name Description
stub RecommenderStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
Name Description
duration long
unit TimeUnit
Returns
Type Description
boolean
Exceptions
Type Description
InterruptedException

close()

public final void close()

getInsight(GetInsightRequest request)

public final Insight getInsight(GetInsightRequest request)

Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetInsightRequest request =
       GetInsightRequest.newBuilder()
           .setName(
               InsightName.ofProjectLocationInsightTypeInsightName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]")
                   .toString())
           .build();
   Insight response = recommenderClient.getInsight(request);
 }
 
Parameter
Name Description
request GetInsightRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Insight

getInsight(InsightName name)

public final Insight getInsight(InsightName name)

Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightName name =
       InsightName.ofProjectLocationInsightTypeInsightName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]");
   Insight response = recommenderClient.getInsight(name);
 }
 
Parameter
Name Description
name InsightName

Required. Name of the insight.

Returns
Type Description
Insight

getInsight(String name)

public final Insight getInsight(String name)

Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       InsightName.ofProjectLocationInsightTypeInsightName(
               "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]")
           .toString();
   Insight response = recommenderClient.getInsight(name);
 }
 
Parameter
Name Description
name String

Required. Name of the insight.

Returns
Type Description
Insight

getInsightCallable()

public final UnaryCallable<GetInsightRequest,Insight> getInsightCallable()

Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetInsightRequest request =
       GetInsightRequest.newBuilder()
           .setName(
               InsightName.ofProjectLocationInsightTypeInsightName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]")
                   .toString())
           .build();
   ApiFuture<Insight> future = recommenderClient.getInsightCallable().futureCall(request);
   // Do something.
   Insight response = future.get();
 }
 
Returns
Type Description
UnaryCallable<GetInsightRequest,Insight>

getInsightTypeConfig(GetInsightTypeConfigRequest request)

public final InsightTypeConfig getInsightTypeConfig(GetInsightTypeConfigRequest request)

Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetInsightTypeConfigRequest request =
       GetInsightTypeConfigRequest.newBuilder()
           .setName(
               InsightTypeConfigName.ofProjectLocationInsightTypeName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
                   .toString())
           .build();
   InsightTypeConfig response = recommenderClient.getInsightTypeConfig(request);
 }
 
Parameter
Name Description
request GetInsightTypeConfigRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
InsightTypeConfig

getInsightTypeConfig(InsightTypeConfigName name)

public final InsightTypeConfig getInsightTypeConfig(InsightTypeConfigName name)

Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightTypeConfigName name =
       InsightTypeConfigName.ofProjectLocationInsightTypeName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]");
   InsightTypeConfig response = recommenderClient.getInsightTypeConfig(name);
 }
 
Parameter
Name Description
name InsightTypeConfigName

Required. Name of the InsightTypeConfig to get.

Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config
  • projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config

Returns
Type Description
InsightTypeConfig

getInsightTypeConfig(String name)

public final InsightTypeConfig getInsightTypeConfig(String name)

Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       InsightTypeConfigName.ofProjectLocationInsightTypeName(
               "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
           .toString();
   InsightTypeConfig response = recommenderClient.getInsightTypeConfig(name);
 }
 
Parameter
Name Description
name String

Required. Name of the InsightTypeConfig to get.

Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config
  • projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config

Returns
Type Description
InsightTypeConfig

getInsightTypeConfigCallable()

public final UnaryCallable<GetInsightTypeConfigRequest,InsightTypeConfig> getInsightTypeConfigCallable()

Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetInsightTypeConfigRequest request =
       GetInsightTypeConfigRequest.newBuilder()
           .setName(
               InsightTypeConfigName.ofProjectLocationInsightTypeName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
                   .toString())
           .build();
   ApiFuture<InsightTypeConfig> future =
       recommenderClient.getInsightTypeConfigCallable().futureCall(request);
   // Do something.
   InsightTypeConfig response = future.get();
 }
 
Returns
Type Description
UnaryCallable<GetInsightTypeConfigRequest,InsightTypeConfig>

getRecommendation(GetRecommendationRequest request)

public final Recommendation getRecommendation(GetRecommendationRequest request)

Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetRecommendationRequest request =
       GetRecommendationRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .build();
   Recommendation response = recommenderClient.getRecommendation(request);
 }
 
Parameter
Name Description
request GetRecommendationRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Recommendation

getRecommendation(RecommendationName name)

public final Recommendation getRecommendation(RecommendationName name)

Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommendationName name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]");
   Recommendation response = recommenderClient.getRecommendation(name);
 }
 
Parameter
Name Description
name RecommendationName

Required. Name of the recommendation.

Returns
Type Description
Recommendation

getRecommendation(String name)

public final Recommendation getRecommendation(String name)

Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
           .toString();
   Recommendation response = recommenderClient.getRecommendation(name);
 }
 
Parameter
Name Description
name String

Required. Name of the recommendation.

Returns
Type Description
Recommendation

getRecommendationCallable()

public final UnaryCallable<GetRecommendationRequest,Recommendation> getRecommendationCallable()

Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetRecommendationRequest request =
       GetRecommendationRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .build();
   ApiFuture<Recommendation> future =
       recommenderClient.getRecommendationCallable().futureCall(request);
   // Do something.
   Recommendation response = future.get();
 }
 
Returns
Type Description
UnaryCallable<GetRecommendationRequest,Recommendation>

getRecommenderConfig(GetRecommenderConfigRequest request)

public final RecommenderConfig getRecommenderConfig(GetRecommenderConfigRequest request)

Gets the requested Recommender Config. There is only one instance of the config for each Recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetRecommenderConfigRequest request =
       GetRecommenderConfigRequest.newBuilder()
           .setName(
               RecommenderConfigName.ofProjectLocationRecommenderName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
                   .toString())
           .build();
   RecommenderConfig response = recommenderClient.getRecommenderConfig(request);
 }
 
Parameter
Name Description
request GetRecommenderConfigRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
RecommenderConfig

getRecommenderConfig(RecommenderConfigName name)

public final RecommenderConfig getRecommenderConfig(RecommenderConfigName name)

Gets the requested Recommender Config. There is only one instance of the config for each Recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommenderConfigName name =
       RecommenderConfigName.ofProjectLocationRecommenderName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]");
   RecommenderConfig response = recommenderClient.getRecommenderConfig(name);
 }
 
Parameter
Name Description
name RecommenderConfigName

Required. Name of the Recommendation Config to get.

Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config
  • projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config

Returns
Type Description
RecommenderConfig

getRecommenderConfig(String name)

public final RecommenderConfig getRecommenderConfig(String name)

Gets the requested Recommender Config. There is only one instance of the config for each Recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       RecommenderConfigName.ofProjectLocationRecommenderName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
           .toString();
   RecommenderConfig response = recommenderClient.getRecommenderConfig(name);
 }
 
Parameter
Name Description
name String

Required. Name of the Recommendation Config to get.

Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config
  • projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config

Returns
Type Description
RecommenderConfig

getRecommenderConfigCallable()

public final UnaryCallable<GetRecommenderConfigRequest,RecommenderConfig> getRecommenderConfigCallable()

Gets the requested Recommender Config. There is only one instance of the config for each Recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetRecommenderConfigRequest request =
       GetRecommenderConfigRequest.newBuilder()
           .setName(
               RecommenderConfigName.ofProjectLocationRecommenderName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
                   .toString())
           .build();
   ApiFuture<RecommenderConfig> future =
       recommenderClient.getRecommenderConfigCallable().futureCall(request);
   // Do something.
   RecommenderConfig response = future.get();
 }
 
Returns
Type Description
UnaryCallable<GetRecommenderConfigRequest,RecommenderConfig>

getSettings()

public final RecommenderSettings getSettings()
Returns
Type Description
RecommenderSettings

getStub()

public RecommenderStub getStub()
Returns
Type Description
RecommenderStub

isShutdown()

public boolean isShutdown()
Returns
Type Description
boolean

isTerminated()

public boolean isTerminated()
Returns
Type Description
boolean

listInsights(InsightTypeName parent)

public final RecommenderClient.ListInsightsPagedResponse listInsights(InsightTypeName parent)

Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightTypeName parent =
       InsightTypeName.ofProjectLocationInsightTypeName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]");
   for (Insight element : recommenderClient.listInsights(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
Name Description
parent InsightTypeName

Required. The container resource on which to execute the request. Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]

LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.

Returns
Type Description
RecommenderClient.ListInsightsPagedResponse

listInsights(ListInsightsRequest request)

public final RecommenderClient.ListInsightsPagedResponse listInsights(ListInsightsRequest request)

Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   ListInsightsRequest request =
       ListInsightsRequest.newBuilder()
           .setParent(
               InsightTypeName.ofProjectLocationInsightTypeName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
                   .toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   for (Insight element : recommenderClient.listInsights(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
Name Description
request ListInsightsRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
RecommenderClient.ListInsightsPagedResponse

listInsights(String parent)

public final RecommenderClient.ListInsightsPagedResponse listInsights(String parent)

Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String parent =
       InsightTypeName.ofProjectLocationInsightTypeName(
               "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
           .toString();
   for (Insight element : recommenderClient.listInsights(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
Name Description
parent String

Required. The container resource on which to execute the request. Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]

LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.

Returns
Type Description
RecommenderClient.ListInsightsPagedResponse

listInsightsCallable()

public final UnaryCallable<ListInsightsRequest,ListInsightsResponse> listInsightsCallable()

Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   ListInsightsRequest request =
       ListInsightsRequest.newBuilder()
           .setParent(
               InsightTypeName.ofProjectLocationInsightTypeName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
                   .toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   while (true) {
     ListInsightsResponse response = recommenderClient.listInsightsCallable().call(request);
     for (Insight element : response.getInsightsList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
Type Description
UnaryCallable<ListInsightsRequest,ListInsightsResponse>

listInsightsPagedCallable()

public final UnaryCallable<ListInsightsRequest,RecommenderClient.ListInsightsPagedResponse> listInsightsPagedCallable()

Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   ListInsightsRequest request =
       ListInsightsRequest.newBuilder()
           .setParent(
               InsightTypeName.ofProjectLocationInsightTypeName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
                   .toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   ApiFuture<Insight> future = recommenderClient.listInsightsPagedCallable().futureCall(request);
   // Do something.
   for (Insight element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
Type Description
UnaryCallable<ListInsightsRequest,ListInsightsPagedResponse>

listRecommendations(ListRecommendationsRequest request)

public final RecommenderClient.ListRecommendationsPagedResponse listRecommendations(ListRecommendationsRequest request)

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   ListRecommendationsRequest request =
       ListRecommendationsRequest.newBuilder()
           .setParent(
               RecommenderName.ofProjectLocationRecommenderName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
                   .toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   for (Recommendation element : recommenderClient.listRecommendations(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
Name Description
request ListRecommendationsRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
RecommenderClient.ListRecommendationsPagedResponse

listRecommendations(RecommenderName parent)

public final RecommenderClient.ListRecommendationsPagedResponse listRecommendations(RecommenderName parent)

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommenderName parent =
       RecommenderName.ofProjectLocationRecommenderName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]");
   for (Recommendation element : recommenderClient.listRecommendations(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
Name Description
parent RecommenderName

Required. The container resource on which to execute the request. Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]

LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.

Returns
Type Description
RecommenderClient.ListRecommendationsPagedResponse

listRecommendations(RecommenderName parent, String filter)

public final RecommenderClient.ListRecommendationsPagedResponse listRecommendations(RecommenderName parent, String filter)

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommenderName parent =
       RecommenderName.ofProjectLocationRecommenderName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]");
   String filter = "filter-1274492040";
   for (Recommendation element :
       recommenderClient.listRecommendations(parent, filter).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameters
Name Description
parent RecommenderName

Required. The container resource on which to execute the request. Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]

LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.

filter String

Filter expression to restrict the recommendations returned. Supported filter fields:

  • state_info.state
  • recommenderSubtype
  • priority
  • targetResources

Examples:

  • stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED
  • recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE
  • priority = P1 OR priority = P2
  • targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1
  • stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)

The max allowed filter length is 500 characters.

(These expressions are based on the filter language described at https://google.aip.dev/160)

Returns
Type Description
RecommenderClient.ListRecommendationsPagedResponse

listRecommendations(String parent)

public final RecommenderClient.ListRecommendationsPagedResponse listRecommendations(String parent)

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String parent =
       RecommenderName.ofProjectLocationRecommenderName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
           .toString();
   for (Recommendation element : recommenderClient.listRecommendations(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
Name Description
parent String

Required. The container resource on which to execute the request. Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]

LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.

Returns
Type Description
RecommenderClient.ListRecommendationsPagedResponse

listRecommendations(String parent, String filter)

public final RecommenderClient.ListRecommendationsPagedResponse listRecommendations(String parent, String filter)

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String parent =
       RecommenderName.ofProjectLocationRecommenderName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
           .toString();
   String filter = "filter-1274492040";
   for (Recommendation element :
       recommenderClient.listRecommendations(parent, filter).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameters
Name Description
parent String

Required. The container resource on which to execute the request. Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]
  • organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]

LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.

filter String

Filter expression to restrict the recommendations returned. Supported filter fields:

  • state_info.state
  • recommenderSubtype
  • priority
  • targetResources

Examples:

  • stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED
  • recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE
  • priority = P1 OR priority = P2
  • targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1
  • stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)

The max allowed filter length is 500 characters.

(These expressions are based on the filter language described at https://google.aip.dev/160)

Returns
Type Description
RecommenderClient.ListRecommendationsPagedResponse

listRecommendationsCallable()

public final UnaryCallable<ListRecommendationsRequest,ListRecommendationsResponse> listRecommendationsCallable()

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   ListRecommendationsRequest request =
       ListRecommendationsRequest.newBuilder()
           .setParent(
               RecommenderName.ofProjectLocationRecommenderName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
                   .toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   while (true) {
     ListRecommendationsResponse response =
         recommenderClient.listRecommendationsCallable().call(request);
     for (Recommendation element : response.getRecommendationsList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
Type Description
UnaryCallable<ListRecommendationsRequest,ListRecommendationsResponse>

listRecommendationsPagedCallable()

public final UnaryCallable<ListRecommendationsRequest,RecommenderClient.ListRecommendationsPagedResponse> listRecommendationsPagedCallable()

Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   ListRecommendationsRequest request =
       ListRecommendationsRequest.newBuilder()
           .setParent(
               RecommenderName.ofProjectLocationRecommenderName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
                   .toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   ApiFuture<Recommendation> future =
       recommenderClient.listRecommendationsPagedCallable().futureCall(request);
   // Do something.
   for (Recommendation element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
Type Description
UnaryCallable<ListRecommendationsRequest,ListRecommendationsPagedResponse>

markInsightAccepted(InsightName name, Map<String,String> stateMetadata, String etag)

public final Insight markInsightAccepted(InsightName name, Map<String,String> stateMetadata, String etag)

Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated.

MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightName name =
       InsightName.ofProjectLocationInsightTypeInsightName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]");
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Insight response = recommenderClient.markInsightAccepted(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name InsightName

Required. Name of the insight.

stateMetadata Map<String,String>

Optional. State properties user wish to include with this state. Full replace of the current state_metadata.

etag String

Required. Fingerprint of the Insight. Provides optimistic locking.

Returns
Type Description
Insight

markInsightAccepted(MarkInsightAcceptedRequest request)

public final Insight markInsightAccepted(MarkInsightAcceptedRequest request)

Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated.

MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkInsightAcceptedRequest request =
       MarkInsightAcceptedRequest.newBuilder()
           .setName(
               InsightName.ofProjectLocationInsightTypeInsightName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   Insight response = recommenderClient.markInsightAccepted(request);
 }
 
Parameter
Name Description
request MarkInsightAcceptedRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Insight

markInsightAccepted(String name, Map<String,String> stateMetadata, String etag)

public final Insight markInsightAccepted(String name, Map<String,String> stateMetadata, String etag)

Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated.

MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       InsightName.ofProjectLocationInsightTypeInsightName(
               "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]")
           .toString();
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Insight response = recommenderClient.markInsightAccepted(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name String

Required. Name of the insight.

stateMetadata Map<String,String>

Optional. State properties user wish to include with this state. Full replace of the current state_metadata.

etag String

Required. Fingerprint of the Insight. Provides optimistic locking.

Returns
Type Description
Insight

markInsightAcceptedCallable()

public final UnaryCallable<MarkInsightAcceptedRequest,Insight> markInsightAcceptedCallable()

Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated.

MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkInsightAcceptedRequest request =
       MarkInsightAcceptedRequest.newBuilder()
           .setName(
               InsightName.ofProjectLocationInsightTypeInsightName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   ApiFuture<Insight> future =
       recommenderClient.markInsightAcceptedCallable().futureCall(request);
   // Do something.
   Insight response = future.get();
 }
 
Returns
Type Description
UnaryCallable<MarkInsightAcceptedRequest,Insight>

markRecommendationClaimed(MarkRecommendationClaimedRequest request)

public final Recommendation markRecommendationClaimed(MarkRecommendationClaimedRequest request)

Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationClaimedRequest request =
       MarkRecommendationClaimedRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   Recommendation response = recommenderClient.markRecommendationClaimed(request);
 }
 
Parameter
Name Description
request MarkRecommendationClaimedRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Recommendation

markRecommendationClaimed(RecommendationName name, Map<String,String> stateMetadata, String etag)

public final Recommendation markRecommendationClaimed(RecommendationName name, Map<String,String> stateMetadata, String etag)

Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommendationName name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]");
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Recommendation response =
       recommenderClient.markRecommendationClaimed(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name RecommendationName

Required. Name of the recommendation.

stateMetadata Map<String,String>

State properties to include with this state. Overwrites any existing state_metadata. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.

etag String

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
Type Description
Recommendation

markRecommendationClaimed(String name, Map<String,String> stateMetadata, String etag)

public final Recommendation markRecommendationClaimed(String name, Map<String,String> stateMetadata, String etag)

Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
           .toString();
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Recommendation response =
       recommenderClient.markRecommendationClaimed(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name String

Required. Name of the recommendation.

stateMetadata Map<String,String>

State properties to include with this state. Overwrites any existing state_metadata. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.

etag String

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
Type Description
Recommendation

markRecommendationClaimedCallable()

public final UnaryCallable<MarkRecommendationClaimedRequest,Recommendation> markRecommendationClaimedCallable()

Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationClaimedRequest request =
       MarkRecommendationClaimedRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   ApiFuture<Recommendation> future =
       recommenderClient.markRecommendationClaimedCallable().futureCall(request);
   // Do something.
   Recommendation response = future.get();
 }
 
Returns
Type Description
UnaryCallable<MarkRecommendationClaimedRequest,Recommendation>

markRecommendationDismissed(MarkRecommendationDismissedRequest request)

public final Recommendation markRecommendationDismissed(MarkRecommendationDismissedRequest request)

Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED.

MarkRecommendationDismissed can be applied to recommendations in ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationDismissedRequest request =
       MarkRecommendationDismissedRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .setEtag("etag3123477")
           .build();
   Recommendation response = recommenderClient.markRecommendationDismissed(request);
 }
 
Parameter
Name Description
request MarkRecommendationDismissedRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Recommendation

markRecommendationDismissedCallable()

public final UnaryCallable<MarkRecommendationDismissedRequest,Recommendation> markRecommendationDismissedCallable()

Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED.

MarkRecommendationDismissed can be applied to recommendations in ACTIVE state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationDismissedRequest request =
       MarkRecommendationDismissedRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .setEtag("etag3123477")
           .build();
   ApiFuture<Recommendation> future =
       recommenderClient.markRecommendationDismissedCallable().futureCall(request);
   // Do something.
   Recommendation response = future.get();
 }
 
Returns
Type Description
UnaryCallable<MarkRecommendationDismissedRequest,Recommendation>

markRecommendationFailed(MarkRecommendationFailedRequest request)

public final Recommendation markRecommendationFailed(MarkRecommendationFailedRequest request)

Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationFailedRequest request =
       MarkRecommendationFailedRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   Recommendation response = recommenderClient.markRecommendationFailed(request);
 }
 
Parameter
Name Description
request MarkRecommendationFailedRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Recommendation

markRecommendationFailed(RecommendationName name, Map<String,String> stateMetadata, String etag)

public final Recommendation markRecommendationFailed(RecommendationName name, Map<String,String> stateMetadata, String etag)

Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommendationName name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]");
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Recommendation response =
       recommenderClient.markRecommendationFailed(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name RecommendationName

Required. Name of the recommendation.

stateMetadata Map<String,String>

State properties to include with this state. Overwrites any existing state_metadata. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.

etag String

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
Type Description
Recommendation

markRecommendationFailed(String name, Map<String,String> stateMetadata, String etag)

public final Recommendation markRecommendationFailed(String name, Map<String,String> stateMetadata, String etag)

Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
           .toString();
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Recommendation response =
       recommenderClient.markRecommendationFailed(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name String

Required. Name of the recommendation.

stateMetadata Map<String,String>

State properties to include with this state. Overwrites any existing state_metadata. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.

etag String

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
Type Description
Recommendation

markRecommendationFailedCallable()

public final UnaryCallable<MarkRecommendationFailedRequest,Recommendation> markRecommendationFailedCallable()

Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationFailedRequest request =
       MarkRecommendationFailedRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   ApiFuture<Recommendation> future =
       recommenderClient.markRecommendationFailedCallable().futureCall(request);
   // Do something.
   Recommendation response = future.get();
 }
 
Returns
Type Description
UnaryCallable<MarkRecommendationFailedRequest,Recommendation>

markRecommendationSucceeded(MarkRecommendationSucceededRequest request)

public final Recommendation markRecommendationSucceeded(MarkRecommendationSucceededRequest request)

Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationSucceededRequest request =
       MarkRecommendationSucceededRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   Recommendation response = recommenderClient.markRecommendationSucceeded(request);
 }
 
Parameter
Name Description
request MarkRecommendationSucceededRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Recommendation

markRecommendationSucceeded(RecommendationName name, Map<String,String> stateMetadata, String etag)

public final Recommendation markRecommendationSucceeded(RecommendationName name, Map<String,String> stateMetadata, String etag)

Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommendationName name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]");
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Recommendation response =
       recommenderClient.markRecommendationSucceeded(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name RecommendationName

Required. Name of the recommendation.

stateMetadata Map<String,String>

State properties to include with this state. Overwrites any existing state_metadata. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.

etag String

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
Type Description
Recommendation

markRecommendationSucceeded(String name, Map<String,String> stateMetadata, String etag)

public final Recommendation markRecommendationSucceeded(String name, Map<String,String> stateMetadata, String etag)

Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
           .toString();
   Map<String, String> stateMetadata = new HashMap<>();
   String etag = "etag3123477";
   Recommendation response =
       recommenderClient.markRecommendationSucceeded(name, stateMetadata, etag);
 }
 
Parameters
Name Description
name String

Required. Name of the recommendation.

stateMetadata Map<String,String>

State properties to include with this state. Overwrites any existing state_metadata. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.

etag String

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
Type Description
Recommendation

markRecommendationSucceededCallable()

public final UnaryCallable<MarkRecommendationSucceededRequest,Recommendation> markRecommendationSucceededCallable()

Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state.

MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.

Requires the recommender.*.update IAM permission for the specified recommender.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   MarkRecommendationSucceededRequest request =
       MarkRecommendationSucceededRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .putAllStateMetadata(new HashMap<String, String>())
           .setEtag("etag3123477")
           .build();
   ApiFuture<Recommendation> future =
       recommenderClient.markRecommendationSucceededCallable().futureCall(request);
   // Do something.
   Recommendation response = future.get();
 }
 
Returns
Type Description
UnaryCallable<MarkRecommendationSucceededRequest,Recommendation>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateInsightTypeConfig(InsightTypeConfig insightTypeConfig, FieldMask updateMask)

public final InsightTypeConfig updateInsightTypeConfig(InsightTypeConfig insightTypeConfig, FieldMask updateMask)

Updates an InsightTypeConfig change. This will create a new revision of the config.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightTypeConfig insightTypeConfig = InsightTypeConfig.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   InsightTypeConfig response =
       recommenderClient.updateInsightTypeConfig(insightTypeConfig, updateMask);
 }
 
Parameters
Name Description
insightTypeConfig InsightTypeConfig

Required. The InsightTypeConfig to update.

updateMask FieldMask

The list of fields to be updated.

Returns
Type Description
InsightTypeConfig

updateInsightTypeConfig(UpdateInsightTypeConfigRequest request)

public final InsightTypeConfig updateInsightTypeConfig(UpdateInsightTypeConfigRequest request)

Updates an InsightTypeConfig change. This will create a new revision of the config.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   UpdateInsightTypeConfigRequest request =
       UpdateInsightTypeConfigRequest.newBuilder()
           .setInsightTypeConfig(InsightTypeConfig.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setValidateOnly(true)
           .build();
   InsightTypeConfig response = recommenderClient.updateInsightTypeConfig(request);
 }
 
Parameter
Name Description
request UpdateInsightTypeConfigRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
InsightTypeConfig

updateInsightTypeConfigCallable()

public final UnaryCallable<UpdateInsightTypeConfigRequest,InsightTypeConfig> updateInsightTypeConfigCallable()

Updates an InsightTypeConfig change. This will create a new revision of the config.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   UpdateInsightTypeConfigRequest request =
       UpdateInsightTypeConfigRequest.newBuilder()
           .setInsightTypeConfig(InsightTypeConfig.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setValidateOnly(true)
           .build();
   ApiFuture<InsightTypeConfig> future =
       recommenderClient.updateInsightTypeConfigCallable().futureCall(request);
   // Do something.
   InsightTypeConfig response = future.get();
 }
 
Returns
Type Description
UnaryCallable<UpdateInsightTypeConfigRequest,InsightTypeConfig>

updateRecommenderConfig(RecommenderConfig recommenderConfig, FieldMask updateMask)

public final RecommenderConfig updateRecommenderConfig(RecommenderConfig recommenderConfig, FieldMask updateMask)

Updates a Recommender Config. This will create a new revision of the config.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommenderConfig recommenderConfig = RecommenderConfig.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   RecommenderConfig response =
       recommenderClient.updateRecommenderConfig(recommenderConfig, updateMask);
 }
 
Parameters
Name Description
recommenderConfig RecommenderConfig

Required. The RecommenderConfig to update.

updateMask FieldMask

The list of fields to be updated.

Returns
Type Description
RecommenderConfig

updateRecommenderConfig(UpdateRecommenderConfigRequest request)

public final RecommenderConfig updateRecommenderConfig(UpdateRecommenderConfigRequest request)

Updates a Recommender Config. This will create a new revision of the config.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   UpdateRecommenderConfigRequest request =
       UpdateRecommenderConfigRequest.newBuilder()
           .setRecommenderConfig(RecommenderConfig.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setValidateOnly(true)
           .build();
   RecommenderConfig response = recommenderClient.updateRecommenderConfig(request);
 }
 
Parameter
Name Description
request UpdateRecommenderConfigRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
RecommenderConfig

updateRecommenderConfigCallable()

public final UnaryCallable<UpdateRecommenderConfigRequest,RecommenderConfig> updateRecommenderConfigCallable()

Updates a Recommender Config. This will create a new revision of the config.

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 (RecommenderClient recommenderClient = RecommenderClient.create()) {
   UpdateRecommenderConfigRequest request =
       UpdateRecommenderConfigRequest.newBuilder()
           .setRecommenderConfig(RecommenderConfig.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setValidateOnly(true)
           .build();
   ApiFuture<RecommenderConfig> future =
       recommenderClient.updateRecommenderConfigCallable().futureCall(request);
   // Do something.
   RecommenderConfig response = future.get();
 }
 
Returns
Type Description
UnaryCallable<UpdateRecommenderConfigRequest,RecommenderConfig>