Class RecommenderClient (2.5.0)

public class RecommenderClient implements BackgroundResource

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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 RecommenderSettings recommenderSettings =
     RecommenderSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 RecommenderClient recommenderClient = RecommenderClient.create(recommenderSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 RecommenderSettings recommenderSettings =
     RecommenderSettings.newBuilder()
         .setTransportChannelProvider(
             RecommenderSettings.defaultHttpJsonTransportProviderBuilder().build())
         .build();
 RecommenderClient recommenderClient = RecommenderClient.create(recommenderSettings);
 

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

Inheritance

java.lang.Object > RecommenderClient

Implements

BackgroundResource

Static Methods

create()

public static final RecommenderClient create()

Constructs an instance of RecommenderClient with default settings.

Returns
TypeDescription
RecommenderClient
Exceptions
TypeDescription
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
NameDescription
settingsRecommenderSettings
Returns
TypeDescription
RecommenderClient
Exceptions
TypeDescription
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
NameDescription
stubRecommenderStub
Returns
TypeDescription
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
NameDescription
settingsRecommenderSettings

RecommenderClient(RecommenderStub stub)

protected RecommenderClient(RecommenderStub stub)
Parameter
NameDescription
stubRecommenderStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestGetInsightRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightName name =
       InsightName.ofProjectLocationInsightTypeInsightName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]");
   Insight response = recommenderClient.getInsight(name);
 }
 
Parameter
NameDescription
nameInsightName

Required. Name of the insight.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       InsightName.ofProjectLocationInsightTypeInsightName(
               "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]", "[INSIGHT]")
           .toString();
   Insight response = recommenderClient.getInsight(name);
 }
 
Parameter
NameDescription
nameString

Required. Name of the insight.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetInsightTypeConfigRequest request =
       GetInsightTypeConfigRequest.newBuilder()
           .setName(
               InsightTypeConfigName.ofProjectLocationInsightTypeName(
                       "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
                   .toString())
           .build();
   InsightTypeConfig response = recommenderClient.getInsightTypeConfig(request);
 }
 
Parameter
NameDescription
requestGetInsightTypeConfigRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightTypeConfigName name =
       InsightTypeConfigName.ofProjectLocationInsightTypeName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]");
   InsightTypeConfig response = recommenderClient.getInsightTypeConfig(name);
 }
 
Parameter
NameDescription
nameInsightTypeConfigName

Required. Name of the InsightTypeConfig to get.

Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config
  • projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config
  • organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       InsightTypeConfigName.ofProjectLocationInsightTypeName(
               "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
           .toString();
   InsightTypeConfig response = recommenderClient.getInsightTypeConfig(name);
 }
 
Parameter
NameDescription
nameString

Required. Name of the InsightTypeConfig to get.

Acceptable formats:

  • projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config
  • projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config
  • organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetRecommendationRequest request =
       GetRecommendationRequest.newBuilder()
           .setName(
               RecommendationName.ofProjectLocationRecommenderRecommendationName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
                   .toString())
           .build();
   Recommendation response = recommenderClient.getRecommendation(request);
 }
 
Parameter
NameDescription
requestGetRecommendationRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommendationName name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]");
   Recommendation response = recommenderClient.getRecommendation(name);
 }
 
Parameter
NameDescription
nameRecommendationName

Required. Name of the recommendation.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       RecommendationName.ofProjectLocationRecommenderRecommendationName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]", "[RECOMMENDATION]")
           .toString();
   Recommendation response = recommenderClient.getRecommendation(name);
 }
 
Parameter
NameDescription
nameString

Required. Name of the recommendation.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   GetRecommenderConfigRequest request =
       GetRecommenderConfigRequest.newBuilder()
           .setName(
               RecommenderConfigName.ofProjectLocationRecommenderName(
                       "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
                   .toString())
           .build();
   RecommenderConfig response = recommenderClient.getRecommenderConfig(request);
 }
 
Parameter
NameDescription
requestGetRecommenderConfigRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommenderConfigName name =
       RecommenderConfigName.ofProjectLocationRecommenderName(
           "[PROJECT]", "[LOCATION]", "[RECOMMENDER]");
   RecommenderConfig response = recommenderClient.getRecommenderConfig(name);
 }
 
Parameter
NameDescription
nameRecommenderConfigName

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String name =
       RecommenderConfigName.ofProjectLocationRecommenderName(
               "[PROJECT]", "[LOCATION]", "[RECOMMENDER]")
           .toString();
   RecommenderConfig response = recommenderClient.getRecommenderConfig(name);
 }
 
Parameter
NameDescription
nameString

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
UnaryCallable<GetRecommenderConfigRequest,RecommenderConfig>

getSettings()

public final RecommenderSettings getSettings()
Returns
TypeDescription
RecommenderSettings

getStub()

public RecommenderStub getStub()
Returns
TypeDescription
RecommenderStub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightTypeName parent =
       InsightTypeName.ofProjectLocationInsightTypeName(
           "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]");
   for (Insight element : recommenderClient.listInsights(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentInsightTypeName

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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestListInsightsRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   String parent =
       InsightTypeName.ofProjectLocationInsightTypeName(
               "[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]")
           .toString();
   for (Insight element : recommenderClient.listInsights(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestListRecommendationsRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
parentRecommenderName

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.

filterString

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

  • state_info.state
  • recommenderSubtype
  • priority

Examples:

  • stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED
  • recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE
  • priority = P1 OR priority = P2
  • stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
parentString

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.

filterString

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

  • state_info.state
  • recommenderSubtype
  • priority

Examples:

  • stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED
  • recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE
  • priority = P1 OR priority = P2
  • stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameInsightName

Required. Name of the insight.

stateMetadataMap<String,String>

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

etagString

Required. Fingerprint of the Insight. Provides optimistic locking.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestMarkInsightAcceptedRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameString

Required. Name of the insight.

stateMetadataMap<String,String>

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

etagString

Required. Fingerprint of the Insight. Provides optimistic locking.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 or ACTIVE state.

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

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestMarkRecommendationClaimedRequest

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

Returns
TypeDescription
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 or ACTIVE state.

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

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameRecommendationName

Required. Name of the recommendation.

stateMetadataMap<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}$/.

etagString

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
TypeDescription
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 or ACTIVE state.

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

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameString

Required. Name of the recommendation.

stateMetadataMap<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}$/.

etagString

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
TypeDescription
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 or ACTIVE state.

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

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
UnaryCallable<MarkRecommendationClaimedRequest,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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestMarkRecommendationFailedRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameRecommendationName

Required. Name of the recommendation.

stateMetadataMap<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}$/.

etagString

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameString

Required. Name of the recommendation.

stateMetadataMap<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}$/.

etagString

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestMarkRecommendationSucceededRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameRecommendationName

Required. Name of the recommendation.

stateMetadataMap<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}$/.

etagString

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
nameString

Required. Name of the recommendation.

stateMetadataMap<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}$/.

etagString

Required. Fingerprint of the Recommendation. Provides optimistic locking.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   InsightTypeConfig insightTypeConfig = InsightTypeConfig.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   InsightTypeConfig response =
       recommenderClient.updateInsightTypeConfig(insightTypeConfig, updateMask);
 }
 
Parameters
NameDescription
insightTypeConfigInsightTypeConfig

Required. The InsightTypeConfig to update.

updateMaskFieldMask

The list of fields to be updated.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestUpdateInsightTypeConfigRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (RecommenderClient recommenderClient = RecommenderClient.create()) {
   RecommenderConfig recommenderConfig = RecommenderConfig.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   RecommenderConfig response =
       recommenderClient.updateRecommenderConfig(recommenderConfig, updateMask);
 }
 
Parameters
NameDescription
recommenderConfigRecommenderConfig

Required. The RecommenderConfig to update.

updateMaskFieldMask

The list of fields to be updated.

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
NameDescription
requestUpdateRecommenderConfigRequest

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

Returns
TypeDescription
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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 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
TypeDescription
UnaryCallable<UpdateRecommenderConfigRequest,RecommenderConfig>