google-cloud-recommender-v1 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2815a42960253e0b94acb6c0d0af70bb8e3c1a51edc5942c927a5a3b9c2aec4
4
- data.tar.gz: a026c31f9568dceb8d5d606ee068a1fb16fb7a561b518def108f64b645e746e6
3
+ metadata.gz: 9b4297f40d6baffecbcd75a8d86f600d16d39a1574de8826c43853ecfd79d30e
4
+ data.tar.gz: 335b30dea992cda14379fec2ea54c931abb5628b6bbfcfdbbf15bf8e9b9c5446
5
5
  SHA512:
6
- metadata.gz: 83802766054e6a7cdfb145c514d9e071f60fdab46e6ca5a41ca673f6390d6be0c7bd367721b34a2920571a3348cfcaad7c57167f58eaa10854c34274ae4338b9
7
- data.tar.gz: 9805563a000af6eb0204248bcaf06bc7d8ac93c324e690138819f2944300ea331d9d027fef11ccf67e3fba69d293a7777ac6c142d6db8f5a402eb1f43a7e71ec
6
+ metadata.gz: dfea89a83975994db3e7cdfa1be6b9453f987797b1502f2cea6e24f8a95d8b9324ca5fc8be8098b9837b2987fcda9fb9ddc02ba8606a59b90039878e973321c7
7
+ data.tar.gz: 7fd273321c43f41fe04e7b2f18de9870319c0365df08c8b42b9989a267e699e9f0ac08d69ed38b02a307112b474dd3839c8e877f851fb3e5143ff882b2d51848
@@ -10,7 +10,7 @@ require 'google/protobuf/struct_pb'
10
10
  require 'google/protobuf/timestamp_pb'
11
11
 
12
12
 
13
- descriptor_data = "\n)google/cloud/recommender/v1/insight.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb6\t\n\x07Insight\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10target_resources\x18\t \x03(\t\x12\x17\n\x0finsight_subtype\x18\n \x01(\t\x12(\n\x07\x63ontent\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x35\n\x11last_refresh_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12observation_period\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\nstate_info\x18\x06 \x01(\x0b\x32-.google.cloud.recommender.v1.InsightStateInfo\x12?\n\x08\x63\x61tegory\x18\x07 \x01(\x0e\x32-.google.cloud.recommender.v1.Insight.Category\x12?\n\x08severity\x18\x0f \x01(\x0e\x32-.google.cloud.recommender.v1.Insight.Severity\x12\x0c\n\x04\x65tag\x18\x0b \x01(\t\x12`\n\x1a\x61ssociated_recommendations\x18\x08 \x03(\x0b\x32<.google.cloud.recommender.v1.Insight.RecommendationReference\x1a\x31\n\x17RecommendationReference\x12\x16\n\x0erecommendation\x18\x01 \x01(\t\"`\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x08\n\x04\x43OST\x10\x01\x12\x0c\n\x08SECURITY\x10\x02\x12\x0f\n\x0bPERFORMANCE\x10\x03\x12\x11\n\rMANAGEABILITY\x10\x04\"Q\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x07\n\x03LOW\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x08\n\x04HIGH\x10\x03\x12\x0c\n\x08\x43RITICAL\x10\x04:\x9f\x03\xea\x41\x9b\x03\n\"recommender.googleapis.com/Insight\x12Vprojects/{project}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\x12\x65\x62illingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\x12Tfolders/{folder}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\x12`organizations/{organization}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\"\xaf\x02\n\x10InsightStateInfo\x12\x42\n\x05state\x18\x01 \x01(\x0e\x32\x33.google.cloud.recommender.v1.InsightStateInfo.State\x12X\n\x0estate_metadata\x18\x02 \x03(\x0b\x32@.google.cloud.recommender.v1.InsightStateInfo.StateMetadataEntry\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"G\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x02\x12\r\n\tDISMISSED\x10\x03\x42\xf0\x03\n\x1f\x63om.google.cloud.recommender.v1B\x0cInsightProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1\xea\x41\xd3\x02\n&recommender.googleapis.com/InsightType\x12\x43projects/{project}/locations/{location}/insightTypes/{insight_type}\x12RbillingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}\x12\x41\x66olders/{folder}/locations/{location}/insightTypes/{insight_type}\x12Morganizations/{organization}/locations/{location}/insightTypes/{insight_type}b\x06proto3"
13
+ descriptor_data = "\n)google/cloud/recommender/v1/insight.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xdc\t\n\x07Insight\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10target_resources\x18\t \x03(\t\x12\x17\n\x0finsight_subtype\x18\n \x01(\t\x12(\n\x07\x63ontent\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x35\n\x11last_refresh_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12observation_period\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\nstate_info\x18\x06 \x01(\x0b\x32-.google.cloud.recommender.v1.InsightStateInfo\x12?\n\x08\x63\x61tegory\x18\x07 \x01(\x0e\x32-.google.cloud.recommender.v1.Insight.Category\x12?\n\x08severity\x18\x0f \x01(\x0e\x32-.google.cloud.recommender.v1.Insight.Severity\x12\x0c\n\x04\x65tag\x18\x0b \x01(\t\x12`\n\x1a\x61ssociated_recommendations\x18\x08 \x03(\x0b\x32<.google.cloud.recommender.v1.Insight.RecommendationReference\x1a\x31\n\x17RecommendationReference\x12\x16\n\x0erecommendation\x18\x01 \x01(\t\"\x85\x01\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x08\n\x04\x43OST\x10\x01\x12\x0c\n\x08SECURITY\x10\x02\x12\x0f\n\x0bPERFORMANCE\x10\x03\x12\x11\n\rMANAGEABILITY\x10\x04\x12\x12\n\x0eSUSTAINABILITY\x10\x05\x12\x0f\n\x0bRELIABILITY\x10\x06\"Q\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x07\n\x03LOW\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x08\n\x04HIGH\x10\x03\x12\x0c\n\x08\x43RITICAL\x10\x04:\x9f\x03\xea\x41\x9b\x03\n\"recommender.googleapis.com/Insight\x12Vprojects/{project}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\x12\x65\x62illingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\x12Tfolders/{folder}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\x12`organizations/{organization}/locations/{location}/insightTypes/{insight_type}/insights/{insight}\"\xaf\x02\n\x10InsightStateInfo\x12\x42\n\x05state\x18\x01 \x01(\x0e\x32\x33.google.cloud.recommender.v1.InsightStateInfo.State\x12X\n\x0estate_metadata\x18\x02 \x03(\x0b\x32@.google.cloud.recommender.v1.InsightStateInfo.StateMetadataEntry\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"G\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x02\x12\r\n\tDISMISSED\x10\x03\x42\xf0\x03\n\x1f\x63om.google.cloud.recommender.v1B\x0cInsightProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1\xea\x41\xd3\x02\n&recommender.googleapis.com/InsightType\x12\x43projects/{project}/locations/{location}/insightTypes/{insight_type}\x12RbillingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}\x12\x41\x66olders/{folder}/locations/{location}/insightTypes/{insight_type}\x12Morganizations/{organization}/locations/{location}/insightTypes/{insight_type}b\x06proto3"
14
14
 
15
15
  pool = Google::Protobuf::DescriptorPool.generated_pool
16
16
 
@@ -10,7 +10,7 @@ require 'google/protobuf/struct_pb'
10
10
  require 'google/protobuf/timestamp_pb'
11
11
 
12
12
 
13
- descriptor_data = "\n5google/cloud/recommender/v1/insight_type_config.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd6\x04\n\x11InsightTypeConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12`\n\x1einsight_type_generation_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.recommender.v1.InsightTypeGenerationConfig\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0brevision_id\x18\x05 \x01(\tB\x06\xe0\x41\x05\xe0\x41\x03\x12T\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32?.google.cloud.recommender.v1.InsightTypeConfig.AnnotationsEntry\x12\x14\n\x0c\x64isplay_name\x18\x07 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xd4\x01\xea\x41\xd0\x01\n,recommender.googleapis.com/InsightTypeConfig\x12Jprojects/{project}/locations/{location}/insightTypes/{insight_type}/config\x12Torganizations/{organization}/locations/{location}/insightTypes/{insight_type}/config\"F\n\x1bInsightTypeGenerationConfig\x12\'\n\x06params\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructB\xa3\x01\n\x1f\x63om.google.cloud.recommender.v1B\x16InsightTypeConfigProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1b\x06proto3"
13
+ descriptor_data = "\n5google/cloud/recommender/v1/insight_type_config.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb1\x05\n\x11InsightTypeConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12`\n\x1einsight_type_generation_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.recommender.v1.InsightTypeGenerationConfig\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0brevision_id\x18\x05 \x01(\tB\x06\xe0\x41\x05\xe0\x41\x03\x12T\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32?.google.cloud.recommender.v1.InsightTypeConfig.AnnotationsEntry\x12\x14\n\x0c\x64isplay_name\x18\x07 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xaf\x02\xea\x41\xab\x02\n,recommender.googleapis.com/InsightTypeConfig\x12Jprojects/{project}/locations/{location}/insightTypes/{insight_type}/config\x12Torganizations/{organization}/locations/{location}/insightTypes/{insight_type}/config\x12YbillingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}/config\"F\n\x1bInsightTypeGenerationConfig\x12\'\n\x06params\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructB\xa3\x01\n\x1f\x63om.google.cloud.recommender.v1B\x16InsightTypeConfigProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1b\x06proto3"
14
14
 
15
15
  pool = Google::Protobuf::DescriptorPool.generated_pool
16
16
 
@@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb'
11
11
  require 'google/type/money_pb'
12
12
 
13
13
 
14
- descriptor_data = "\n0google/cloud/recommender/v1/recommendation.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/type/money.proto\"\xa2\t\n\x0eRecommendation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x1b\n\x13recommender_subtype\x18\x0c \x01(\t\x12\x35\n\x11last_refresh_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x0eprimary_impact\x18\x05 \x01(\x0b\x32#.google.cloud.recommender.v1.Impact\x12>\n\x11\x61\x64\x64itional_impact\x18\x06 \x03(\x0b\x32#.google.cloud.recommender.v1.Impact\x12\x46\n\x08priority\x18\x11 \x01(\x0e\x32\x34.google.cloud.recommender.v1.Recommendation.Priority\x12\x43\n\x07\x63ontent\x18\x07 \x01(\x0b\x32\x32.google.cloud.recommender.v1.RecommendationContent\x12H\n\nstate_info\x18\n \x01(\x0b\x32\x34.google.cloud.recommender.v1.RecommendationStateInfo\x12\x0c\n\x04\x65tag\x18\x0b \x01(\t\x12Y\n\x13\x61ssociated_insights\x18\x0e \x03(\x0b\x32<.google.cloud.recommender.v1.Recommendation.InsightReference\x12\x14\n\x0cxor_group_id\x18\x12 \x01(\t\x1a#\n\x10InsightReference\x12\x0f\n\x07insight\x18\x01 \x01(\t\"D\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x06\n\x02P4\x10\x01\x12\x06\n\x02P3\x10\x02\x12\x06\n\x02P2\x10\x03\x12\x06\n\x02P1\x10\x04:\xda\x03\xea\x41\xd6\x03\n)recommender.googleapis.com/Recommendation\x12\x63projects/{project}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12rbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12\x61\x66olders/{folder}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12morganizations/{organization}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\"\x89\x01\n\x15RecommendationContent\x12\x45\n\x10operation_groups\x18\x02 \x03(\x0b\x32+.google.cloud.recommender.v1.OperationGroup\x12)\n\x08overview\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"L\n\x0eOperationGroup\x12:\n\noperations\x18\x01 \x03(\x0b\x32&.google.cloud.recommender.v1.Operation\"\xd7\x04\n\tOperation\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x10\n\x08resource\x18\x03 \x01(\t\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x17\n\x0fsource_resource\x18\x05 \x01(\t\x12\x13\n\x0bsource_path\x18\x06 \x01(\t\x12\'\n\x05value\x18\x07 \x01(\x0b\x32\x16.google.protobuf.ValueH\x00\x12\x42\n\rvalue_matcher\x18\n \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcherH\x00\x12M\n\x0cpath_filters\x18\x08 \x03(\x0b\x32\x37.google.cloud.recommender.v1.Operation.PathFiltersEntry\x12Z\n\x13path_value_matchers\x18\x0b \x03(\x0b\x32=.google.cloud.recommender.v1.Operation.PathValueMatchersEntry\x1aJ\n\x10PathFiltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x63\n\x16PathValueMatchersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcher:\x02\x38\x01\x42\x0c\n\npath_value\":\n\x0cValueMatcher\x12\x19\n\x0fmatches_pattern\x18\x01 \x01(\tH\x00\x42\x0f\n\rmatch_variant\"_\n\x0e\x43ostProjection\x12 \n\x04\x63ost\x18\x01 \x01(\x0b\x32\x12.google.type.Money\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\">\n\x12SecurityProjection\x12(\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xd0\x02\n\x06Impact\x12>\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32,.google.cloud.recommender.v1.Impact.Category\x12\x46\n\x0f\x63ost_projection\x18\x64 \x01(\x0b\x32+.google.cloud.recommender.v1.CostProjectionH\x00\x12N\n\x13security_projection\x18\x65 \x01(\x0b\x32/.google.cloud.recommender.v1.SecurityProjectionH\x00\"`\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x08\n\x04\x43OST\x10\x01\x12\x0c\n\x08SECURITY\x10\x02\x12\x0f\n\x0bPERFORMANCE\x10\x03\x12\x11\n\rMANAGEABILITY\x10\x04\x42\x0c\n\nprojection\"\xde\x02\n\x17RecommendationStateInfo\x12I\n\x05state\x18\x01 \x01(\x0e\x32:.google.cloud.recommender.v1.RecommendationStateInfo.State\x12_\n\x0estate_metadata\x18\x02 \x03(\x0b\x32G.google.cloud.recommender.v1.RecommendationStateInfo.StateMetadataEntry\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0b\n\x07\x43LAIMED\x10\x06\x12\r\n\tSUCCEEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\r\n\tDISMISSED\x10\x05\x42\xde\x03\n\x1f\x63om.google.cloud.recommender.v1P\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1\xea\x41\xcf\x02\n&recommender.googleapis.com/Recommender\x12\x42projects/{project}/locations/{location}/recommenders/{recommender}\x12QbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}\x12@folders/{folder}/locations/{location}/recommenders/{recommender}\x12Lorganizations/{organization}/locations/{location}/recommenders/{recommender}b\x06proto3"
14
+ descriptor_data = "\n0google/cloud/recommender/v1/recommendation.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/type/money.proto\"\xa2\t\n\x0eRecommendation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x1b\n\x13recommender_subtype\x18\x0c \x01(\t\x12\x35\n\x11last_refresh_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x0eprimary_impact\x18\x05 \x01(\x0b\x32#.google.cloud.recommender.v1.Impact\x12>\n\x11\x61\x64\x64itional_impact\x18\x06 \x03(\x0b\x32#.google.cloud.recommender.v1.Impact\x12\x46\n\x08priority\x18\x11 \x01(\x0e\x32\x34.google.cloud.recommender.v1.Recommendation.Priority\x12\x43\n\x07\x63ontent\x18\x07 \x01(\x0b\x32\x32.google.cloud.recommender.v1.RecommendationContent\x12H\n\nstate_info\x18\n \x01(\x0b\x32\x34.google.cloud.recommender.v1.RecommendationStateInfo\x12\x0c\n\x04\x65tag\x18\x0b \x01(\t\x12Y\n\x13\x61ssociated_insights\x18\x0e \x03(\x0b\x32<.google.cloud.recommender.v1.Recommendation.InsightReference\x12\x14\n\x0cxor_group_id\x18\x12 \x01(\t\x1a#\n\x10InsightReference\x12\x0f\n\x07insight\x18\x01 \x01(\t\"D\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x06\n\x02P4\x10\x01\x12\x06\n\x02P3\x10\x02\x12\x06\n\x02P2\x10\x03\x12\x06\n\x02P1\x10\x04:\xda\x03\xea\x41\xd6\x03\n)recommender.googleapis.com/Recommendation\x12\x63projects/{project}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12rbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12\x61\x66olders/{folder}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12morganizations/{organization}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\"\x89\x01\n\x15RecommendationContent\x12\x45\n\x10operation_groups\x18\x02 \x03(\x0b\x32+.google.cloud.recommender.v1.OperationGroup\x12)\n\x08overview\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"L\n\x0eOperationGroup\x12:\n\noperations\x18\x01 \x03(\x0b\x32&.google.cloud.recommender.v1.Operation\"\xd7\x04\n\tOperation\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x10\n\x08resource\x18\x03 \x01(\t\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x17\n\x0fsource_resource\x18\x05 \x01(\t\x12\x13\n\x0bsource_path\x18\x06 \x01(\t\x12\'\n\x05value\x18\x07 \x01(\x0b\x32\x16.google.protobuf.ValueH\x00\x12\x42\n\rvalue_matcher\x18\n \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcherH\x00\x12M\n\x0cpath_filters\x18\x08 \x03(\x0b\x32\x37.google.cloud.recommender.v1.Operation.PathFiltersEntry\x12Z\n\x13path_value_matchers\x18\x0b \x03(\x0b\x32=.google.cloud.recommender.v1.Operation.PathValueMatchersEntry\x1aJ\n\x10PathFiltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x63\n\x16PathValueMatchersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcher:\x02\x38\x01\x42\x0c\n\npath_value\":\n\x0cValueMatcher\x12\x19\n\x0fmatches_pattern\x18\x01 \x01(\tH\x00\x42\x0f\n\rmatch_variant\"_\n\x0e\x43ostProjection\x12 \n\x04\x63ost\x18\x01 \x01(\x0b\x32\x12.google.type.Money\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\">\n\x12SecurityProjection\x12(\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"Y\n\x18SustainabilityProjection\x12\x10\n\x08kg_c_o2e\x18\x01 \x01(\x01\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xec\x01\n\x15ReliabilityProjection\x12J\n\x05risks\x18\x01 \x03(\x0e\x32;.google.cloud.recommender.v1.ReliabilityProjection.RiskType\x12(\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"]\n\x08RiskType\x12\x19\n\x15RISK_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12SERVICE_DISRUPTION\x10\x01\x12\r\n\tDATA_LOSS\x10\x02\x12\x0f\n\x0b\x41\x43\x43\x45SS_DENY\x10\x03\"\xa8\x04\n\x06Impact\x12>\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32,.google.cloud.recommender.v1.Impact.Category\x12\x46\n\x0f\x63ost_projection\x18\x64 \x01(\x0b\x32+.google.cloud.recommender.v1.CostProjectionH\x00\x12N\n\x13security_projection\x18\x65 \x01(\x0b\x32/.google.cloud.recommender.v1.SecurityProjectionH\x00\x12Z\n\x19sustainability_projection\x18\x66 \x01(\x0b\x32\x35.google.cloud.recommender.v1.SustainabilityProjectionH\x00\x12T\n\x16reliability_projection\x18g \x01(\x0b\x32\x32.google.cloud.recommender.v1.ReliabilityProjectionH\x00\"\x85\x01\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x08\n\x04\x43OST\x10\x01\x12\x0c\n\x08SECURITY\x10\x02\x12\x0f\n\x0bPERFORMANCE\x10\x03\x12\x11\n\rMANAGEABILITY\x10\x04\x12\x12\n\x0eSUSTAINABILITY\x10\x05\x12\x0f\n\x0bRELIABILITY\x10\x06\x42\x0c\n\nprojection\"\xde\x02\n\x17RecommendationStateInfo\x12I\n\x05state\x18\x01 \x01(\x0e\x32:.google.cloud.recommender.v1.RecommendationStateInfo.State\x12_\n\x0estate_metadata\x18\x02 \x03(\x0b\x32G.google.cloud.recommender.v1.RecommendationStateInfo.StateMetadataEntry\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0b\n\x07\x43LAIMED\x10\x06\x12\r\n\tSUCCEEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\r\n\tDISMISSED\x10\x05\x42\xde\x03\n\x1f\x63om.google.cloud.recommender.v1P\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1\xea\x41\xcf\x02\n&recommender.googleapis.com/Recommender\x12\x42projects/{project}/locations/{location}/recommenders/{recommender}\x12QbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}\x12@folders/{folder}/locations/{location}/recommenders/{recommender}\x12Lorganizations/{organization}/locations/{location}/recommenders/{recommender}b\x06proto3"
15
15
 
16
16
  pool = Google::Protobuf::DescriptorPool.generated_pool
17
17
 
@@ -54,6 +54,9 @@ module Google
54
54
  ValueMatcher = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ValueMatcher").msgclass
55
55
  CostProjection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.CostProjection").msgclass
56
56
  SecurityProjection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.SecurityProjection").msgclass
57
+ SustainabilityProjection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.SustainabilityProjection").msgclass
58
+ ReliabilityProjection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ReliabilityProjection").msgclass
59
+ ReliabilityProjection::RiskType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ReliabilityProjection.RiskType").enummodule
57
60
  Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Impact").msgclass
58
61
  Impact::Category = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Impact.Category").enummodule
59
62
  RecommendationStateInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.RecommendationStateInfo").msgclass
@@ -154,7 +154,7 @@ module Google
154
154
  credentials = @config.credentials
155
155
  # Use self-signed JWT if the endpoint is unchanged from default,
156
156
  # but only if the default endpoint does not have a region prefix.
157
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
157
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
158
158
  !@config.endpoint.split(".").first.include?("-")
159
159
  credentials ||= Credentials.default scope: @config.scope,
160
160
  enable_self_signed_jwt: enable_self_signed_jwt
@@ -718,6 +718,101 @@ module Google
718
718
  raise ::Google::Cloud::Error.from_error(e)
719
719
  end
720
720
 
721
+ ##
722
+ # Mark the Recommendation State as Dismissed. Users can use this method to
723
+ # indicate to the Recommender API that an ACTIVE recommendation has to
724
+ # be marked back as DISMISSED.
725
+ #
726
+ # MarkRecommendationDismissed can be applied to recommendations in ACTIVE
727
+ # state.
728
+ #
729
+ # Requires the recommender.*.update IAM permission for the specified
730
+ # recommender.
731
+ #
732
+ # @overload mark_recommendation_dismissed(request, options = nil)
733
+ # Pass arguments to `mark_recommendation_dismissed` via a request object, either of type
734
+ # {::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest} or an equivalent Hash.
735
+ #
736
+ # @param request [::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest, ::Hash]
737
+ # A request object representing the call parameters. Required. To specify no
738
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
739
+ # @param options [::Gapic::CallOptions, ::Hash]
740
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
741
+ #
742
+ # @overload mark_recommendation_dismissed(name: nil, etag: nil)
743
+ # Pass arguments to `mark_recommendation_dismissed` via keyword arguments. Note that at
744
+ # least one keyword argument is required. To specify no parameters, or to keep all
745
+ # the default parameter values, pass an empty Hash as a request object (see above).
746
+ #
747
+ # @param name [::String]
748
+ # Name of the recommendation.
749
+ # @param etag [::String]
750
+ # Fingerprint of the Recommendation. Provides optimistic locking.
751
+ #
752
+ # @yield [response, operation] Access the result along with the RPC operation
753
+ # @yieldparam response [::Google::Cloud::Recommender::V1::Recommendation]
754
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
755
+ #
756
+ # @return [::Google::Cloud::Recommender::V1::Recommendation]
757
+ #
758
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
759
+ #
760
+ # @example Basic example
761
+ # require "google/cloud/recommender/v1"
762
+ #
763
+ # # Create a client object. The client can be reused for multiple calls.
764
+ # client = Google::Cloud::Recommender::V1::Recommender::Client.new
765
+ #
766
+ # # Create a request. To set request fields, pass in keyword arguments.
767
+ # request = Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest.new
768
+ #
769
+ # # Call the mark_recommendation_dismissed method.
770
+ # result = client.mark_recommendation_dismissed request
771
+ #
772
+ # # The returned object is of type Google::Cloud::Recommender::V1::Recommendation.
773
+ # p result
774
+ #
775
+ def mark_recommendation_dismissed request, options = nil
776
+ raise ::ArgumentError, "request must be provided" if request.nil?
777
+
778
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest
779
+
780
+ # Converts hash and nil to an options object
781
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
782
+
783
+ # Customize the options with defaults
784
+ metadata = @config.rpcs.mark_recommendation_dismissed.metadata.to_h
785
+
786
+ # Set x-goog-api-client and x-goog-user-project headers
787
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
788
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
789
+ gapic_version: ::Google::Cloud::Recommender::V1::VERSION
790
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
791
+
792
+ header_params = {}
793
+ if request.name
794
+ header_params["name"] = request.name
795
+ end
796
+
797
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
798
+ metadata[:"x-goog-request-params"] ||= request_params_header
799
+
800
+ options.apply_defaults timeout: @config.rpcs.mark_recommendation_dismissed.timeout,
801
+ metadata: metadata,
802
+ retry_policy: @config.rpcs.mark_recommendation_dismissed.retry_policy
803
+
804
+ options.apply_defaults timeout: @config.timeout,
805
+ metadata: @config.metadata,
806
+ retry_policy: @config.retry_policy
807
+
808
+ @recommender_stub.call_rpc :mark_recommendation_dismissed, request, options: options do |response, operation|
809
+ yield response, operation if block_given?
810
+ return response
811
+ end
812
+ rescue ::GRPC::BadStatus => e
813
+ raise ::Google::Cloud::Error.from_error(e)
814
+ end
815
+
721
816
  ##
722
817
  # Marks the Recommendation State as Claimed. Users can use this method to
723
818
  # indicate to the Recommender API that they are starting to apply the
@@ -1053,6 +1148,8 @@ module Google
1053
1148
  #
1054
1149
  # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
1055
1150
  #
1151
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
1152
+ #
1056
1153
  # @yield [response, operation] Access the result along with the RPC operation
1057
1154
  # @yieldparam response [::Google::Cloud::Recommender::V1::RecommenderConfig]
1058
1155
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
@@ -1232,11 +1329,13 @@ module Google
1232
1329
  #
1233
1330
  # Acceptable formats:
1234
1331
  #
1235
- # * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1332
+ # * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
1333
+ #
1334
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
1236
1335
  #
1237
- # * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1336
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
1238
1337
  #
1239
- # * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1338
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
1240
1339
  #
1241
1340
  # @yield [response, operation] Access the result along with the RPC operation
1242
1341
  # @yieldparam response [::Google::Cloud::Recommender::V1::InsightTypeConfig]
@@ -1475,7 +1574,9 @@ module Google
1475
1574
  class Configuration
1476
1575
  extend ::Gapic::Config
1477
1576
 
1478
- config_attr :endpoint, "recommender.googleapis.com", ::String
1577
+ DEFAULT_ENDPOINT = "recommender.googleapis.com"
1578
+
1579
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1479
1580
  config_attr :credentials, nil do |value|
1480
1581
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1481
1582
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1554,6 +1655,11 @@ module Google
1554
1655
  #
1555
1656
  attr_reader :get_recommendation
1556
1657
  ##
1658
+ # RPC-specific configuration for `mark_recommendation_dismissed`
1659
+ # @return [::Gapic::Config::Method]
1660
+ #
1661
+ attr_reader :mark_recommendation_dismissed
1662
+ ##
1557
1663
  # RPC-specific configuration for `mark_recommendation_claimed`
1558
1664
  # @return [::Gapic::Config::Method]
1559
1665
  #
@@ -1601,6 +1707,8 @@ module Google
1601
1707
  @list_recommendations = ::Gapic::Config::Method.new list_recommendations_config
1602
1708
  get_recommendation_config = parent_rpcs.get_recommendation if parent_rpcs.respond_to? :get_recommendation
1603
1709
  @get_recommendation = ::Gapic::Config::Method.new get_recommendation_config
1710
+ mark_recommendation_dismissed_config = parent_rpcs.mark_recommendation_dismissed if parent_rpcs.respond_to? :mark_recommendation_dismissed
1711
+ @mark_recommendation_dismissed = ::Gapic::Config::Method.new mark_recommendation_dismissed_config
1604
1712
  mark_recommendation_claimed_config = parent_rpcs.mark_recommendation_claimed if parent_rpcs.respond_to? :mark_recommendation_claimed
1605
1713
  @mark_recommendation_claimed = ::Gapic::Config::Method.new mark_recommendation_claimed_config
1606
1714
  mark_recommendation_succeeded_config = parent_rpcs.mark_recommendation_succeeded if parent_rpcs.respond_to? :mark_recommendation_succeeded
@@ -199,6 +199,15 @@ module Google
199
199
  # @param location [String]
200
200
  # @param insight_type [String]
201
201
  #
202
+ # @overload insight_type_config_path(billing_account:, location:, insight_type:)
203
+ # The resource will be in the following format:
204
+ #
205
+ # `billingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}/config`
206
+ #
207
+ # @param billing_account [String]
208
+ # @param location [String]
209
+ # @param insight_type [String]
210
+ #
202
211
  # @return [::String]
203
212
  def insight_type_config_path **args
204
213
  resources = {
@@ -213,6 +222,12 @@ module Google
213
222
  raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
214
223
 
215
224
  "organizations/#{organization}/locations/#{location}/insightTypes/#{insight_type}/config"
225
+ end),
226
+ "billing_account:insight_type:location" => (proc do |billing_account:, location:, insight_type:|
227
+ raise ::ArgumentError, "billing_account cannot contain /" if billing_account.to_s.include? "/"
228
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
229
+
230
+ "billingAccounts/#{billing_account}/locations/#{location}/insightTypes/#{insight_type}/config"
216
231
  end)
217
232
  }
218
233
 
@@ -396,6 +411,15 @@ module Google
396
411
  # @param location [String]
397
412
  # @param recommender [String]
398
413
  #
414
+ # @overload recommender_config_path(billing_account:, location:, recommender:)
415
+ # The resource will be in the following format:
416
+ #
417
+ # `billingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}/config`
418
+ #
419
+ # @param billing_account [String]
420
+ # @param location [String]
421
+ # @param recommender [String]
422
+ #
399
423
  # @return [::String]
400
424
  def recommender_config_path **args
401
425
  resources = {
@@ -410,6 +434,12 @@ module Google
410
434
  raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
411
435
 
412
436
  "organizations/#{organization}/locations/#{location}/recommenders/#{recommender}/config"
437
+ end),
438
+ "billing_account:location:recommender" => (proc do |billing_account:, location:, recommender:|
439
+ raise ::ArgumentError, "billing_account cannot contain /" if billing_account.to_s.include? "/"
440
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
441
+
442
+ "billingAccounts/#{billing_account}/locations/#{location}/recommenders/#{recommender}/config"
413
443
  end)
414
444
  }
415
445
 
@@ -150,7 +150,7 @@ module Google
150
150
  credentials = @config.credentials
151
151
  # Use self-signed JWT if the endpoint is unchanged from default,
152
152
  # but only if the default endpoint does not have a region prefix.
153
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
153
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
154
154
  !@config.endpoint.split(".").first.include?("-")
155
155
  credentials ||= Credentials.default scope: @config.scope,
156
156
  enable_self_signed_jwt: enable_self_signed_jwt
@@ -586,6 +586,78 @@ module Google
586
586
  raise ::Google::Cloud::Error.from_error(e)
587
587
  end
588
588
 
589
+ ##
590
+ # Mark the Recommendation State as Dismissed. Users can use this method to
591
+ # indicate to the Recommender API that an ACTIVE recommendation has to
592
+ # be marked back as DISMISSED.
593
+ #
594
+ # MarkRecommendationDismissed can be applied to recommendations in ACTIVE
595
+ # state.
596
+ #
597
+ # Requires the recommender.*.update IAM permission for the specified
598
+ # recommender.
599
+ #
600
+ # @overload mark_recommendation_dismissed(request, options = nil)
601
+ # Pass arguments to `mark_recommendation_dismissed` via a request object, either of type
602
+ # {::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest} or an equivalent Hash.
603
+ #
604
+ # @param request [::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest, ::Hash]
605
+ # A request object representing the call parameters. Required. To specify no
606
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
607
+ # @param options [::Gapic::CallOptions, ::Hash]
608
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
609
+ #
610
+ # @overload mark_recommendation_dismissed(name: nil, etag: nil)
611
+ # Pass arguments to `mark_recommendation_dismissed` via keyword arguments. Note that at
612
+ # least one keyword argument is required. To specify no parameters, or to keep all
613
+ # the default parameter values, pass an empty Hash as a request object (see above).
614
+ #
615
+ # @param name [::String]
616
+ # Name of the recommendation.
617
+ # @param etag [::String]
618
+ # Fingerprint of the Recommendation. Provides optimistic locking.
619
+ # @yield [result, operation] Access the result along with the TransportOperation object
620
+ # @yieldparam result [::Google::Cloud::Recommender::V1::Recommendation]
621
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
622
+ #
623
+ # @return [::Google::Cloud::Recommender::V1::Recommendation]
624
+ #
625
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
626
+ def mark_recommendation_dismissed request, options = nil
627
+ raise ::ArgumentError, "request must be provided" if request.nil?
628
+
629
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest
630
+
631
+ # Converts hash and nil to an options object
632
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
633
+
634
+ # Customize the options with defaults
635
+ call_metadata = @config.rpcs.mark_recommendation_dismissed.metadata.to_h
636
+
637
+ # Set x-goog-api-client and x-goog-user-project headers
638
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
639
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
640
+ gapic_version: ::Google::Cloud::Recommender::V1::VERSION,
641
+ transports_version_send: [:rest]
642
+
643
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
644
+
645
+ options.apply_defaults timeout: @config.rpcs.mark_recommendation_dismissed.timeout,
646
+ metadata: call_metadata,
647
+ retry_policy: @config.rpcs.mark_recommendation_dismissed.retry_policy
648
+
649
+ options.apply_defaults timeout: @config.timeout,
650
+ metadata: @config.metadata,
651
+ retry_policy: @config.retry_policy
652
+
653
+ @recommender_stub.mark_recommendation_dismissed request, options do |result, operation|
654
+ yield result, operation if block_given?
655
+ return result
656
+ end
657
+ rescue ::Gapic::Rest::Error => e
658
+ raise ::Google::Cloud::Error.from_error(e)
659
+ end
660
+
589
661
  ##
590
662
  # Marks the Recommendation State as Claimed. Users can use this method to
591
663
  # indicate to the Recommender API that they are starting to apply the
@@ -851,6 +923,8 @@ module Google
851
923
  # * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
852
924
  #
853
925
  # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
926
+ #
927
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
854
928
  # @yield [result, operation] Access the result along with the TransportOperation object
855
929
  # @yieldparam result [::Google::Cloud::Recommender::V1::RecommenderConfig]
856
930
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -985,11 +1059,13 @@ module Google
985
1059
  #
986
1060
  # Acceptable formats:
987
1061
  #
988
- # * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1062
+ # * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
989
1063
  #
990
- # * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1064
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
991
1065
  #
992
- # * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1066
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
1067
+ #
1068
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
993
1069
  # @yield [result, operation] Access the result along with the TransportOperation object
994
1070
  # @yieldparam result [::Google::Cloud::Recommender::V1::InsightTypeConfig]
995
1071
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1173,7 +1249,9 @@ module Google
1173
1249
  class Configuration
1174
1250
  extend ::Gapic::Config
1175
1251
 
1176
- config_attr :endpoint, "recommender.googleapis.com", ::String
1252
+ DEFAULT_ENDPOINT = "recommender.googleapis.com"
1253
+
1254
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1177
1255
  config_attr :credentials, nil do |value|
1178
1256
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1179
1257
  allowed.any? { |klass| klass === value }
@@ -1249,6 +1327,11 @@ module Google
1249
1327
  #
1250
1328
  attr_reader :get_recommendation
1251
1329
  ##
1330
+ # RPC-specific configuration for `mark_recommendation_dismissed`
1331
+ # @return [::Gapic::Config::Method]
1332
+ #
1333
+ attr_reader :mark_recommendation_dismissed
1334
+ ##
1252
1335
  # RPC-specific configuration for `mark_recommendation_claimed`
1253
1336
  # @return [::Gapic::Config::Method]
1254
1337
  #
@@ -1296,6 +1379,8 @@ module Google
1296
1379
  @list_recommendations = ::Gapic::Config::Method.new list_recommendations_config
1297
1380
  get_recommendation_config = parent_rpcs.get_recommendation if parent_rpcs.respond_to? :get_recommendation
1298
1381
  @get_recommendation = ::Gapic::Config::Method.new get_recommendation_config
1382
+ mark_recommendation_dismissed_config = parent_rpcs.mark_recommendation_dismissed if parent_rpcs.respond_to? :mark_recommendation_dismissed
1383
+ @mark_recommendation_dismissed = ::Gapic::Config::Method.new mark_recommendation_dismissed_config
1299
1384
  mark_recommendation_claimed_config = parent_rpcs.mark_recommendation_claimed if parent_rpcs.respond_to? :mark_recommendation_claimed
1300
1385
  @mark_recommendation_claimed = ::Gapic::Config::Method.new mark_recommendation_claimed_config
1301
1386
  mark_recommendation_succeeded_config = parent_rpcs.mark_recommendation_succeeded if parent_rpcs.respond_to? :mark_recommendation_succeeded
@@ -59,7 +59,7 @@ module Google
59
59
 
60
60
  verb, uri, query_string_params, body = ServiceStub.transcode_list_insights_request request_pb
61
61
  query_string_params = if query_string_params.any?
62
- query_string_params.to_h { |p| p.split("=", 2) }
62
+ query_string_params.to_h { |p| p.split "=", 2 }
63
63
  else
64
64
  {}
65
65
  end
@@ -97,7 +97,7 @@ module Google
97
97
 
98
98
  verb, uri, query_string_params, body = ServiceStub.transcode_get_insight_request request_pb
99
99
  query_string_params = if query_string_params.any?
100
- query_string_params.to_h { |p| p.split("=", 2) }
100
+ query_string_params.to_h { |p| p.split "=", 2 }
101
101
  else
102
102
  {}
103
103
  end
@@ -135,7 +135,7 @@ module Google
135
135
 
136
136
  verb, uri, query_string_params, body = ServiceStub.transcode_mark_insight_accepted_request request_pb
137
137
  query_string_params = if query_string_params.any?
138
- query_string_params.to_h { |p| p.split("=", 2) }
138
+ query_string_params.to_h { |p| p.split "=", 2 }
139
139
  else
140
140
  {}
141
141
  end
@@ -173,7 +173,7 @@ module Google
173
173
 
174
174
  verb, uri, query_string_params, body = ServiceStub.transcode_list_recommendations_request request_pb
175
175
  query_string_params = if query_string_params.any?
176
- query_string_params.to_h { |p| p.split("=", 2) }
176
+ query_string_params.to_h { |p| p.split "=", 2 }
177
177
  else
178
178
  {}
179
179
  end
@@ -211,7 +211,45 @@ module Google
211
211
 
212
212
  verb, uri, query_string_params, body = ServiceStub.transcode_get_recommendation_request request_pb
213
213
  query_string_params = if query_string_params.any?
214
- query_string_params.to_h { |p| p.split("=", 2) }
214
+ query_string_params.to_h { |p| p.split "=", 2 }
215
+ else
216
+ {}
217
+ end
218
+
219
+ response = @client_stub.make_http_request(
220
+ verb,
221
+ uri: uri,
222
+ body: body || "",
223
+ params: query_string_params,
224
+ options: options
225
+ )
226
+ operation = ::Gapic::Rest::TransportOperation.new response
227
+ result = ::Google::Cloud::Recommender::V1::Recommendation.decode_json response.body, ignore_unknown_fields: true
228
+
229
+ yield result, operation if block_given?
230
+ result
231
+ end
232
+
233
+ ##
234
+ # Baseline implementation for the mark_recommendation_dismissed REST call
235
+ #
236
+ # @param request_pb [::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest]
237
+ # A request object representing the call parameters. Required.
238
+ # @param options [::Gapic::CallOptions]
239
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
240
+ #
241
+ # @yield [result, operation] Access the result along with the TransportOperation object
242
+ # @yieldparam result [::Google::Cloud::Recommender::V1::Recommendation]
243
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
244
+ #
245
+ # @return [::Google::Cloud::Recommender::V1::Recommendation]
246
+ # A result object deserialized from the server's reply
247
+ def mark_recommendation_dismissed request_pb, options = nil
248
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
249
+
250
+ verb, uri, query_string_params, body = ServiceStub.transcode_mark_recommendation_dismissed_request request_pb
251
+ query_string_params = if query_string_params.any?
252
+ query_string_params.to_h { |p| p.split "=", 2 }
215
253
  else
216
254
  {}
217
255
  end
@@ -249,7 +287,7 @@ module Google
249
287
 
250
288
  verb, uri, query_string_params, body = ServiceStub.transcode_mark_recommendation_claimed_request request_pb
251
289
  query_string_params = if query_string_params.any?
252
- query_string_params.to_h { |p| p.split("=", 2) }
290
+ query_string_params.to_h { |p| p.split "=", 2 }
253
291
  else
254
292
  {}
255
293
  end
@@ -287,7 +325,7 @@ module Google
287
325
 
288
326
  verb, uri, query_string_params, body = ServiceStub.transcode_mark_recommendation_succeeded_request request_pb
289
327
  query_string_params = if query_string_params.any?
290
- query_string_params.to_h { |p| p.split("=", 2) }
328
+ query_string_params.to_h { |p| p.split "=", 2 }
291
329
  else
292
330
  {}
293
331
  end
@@ -325,7 +363,7 @@ module Google
325
363
 
326
364
  verb, uri, query_string_params, body = ServiceStub.transcode_mark_recommendation_failed_request request_pb
327
365
  query_string_params = if query_string_params.any?
328
- query_string_params.to_h { |p| p.split("=", 2) }
366
+ query_string_params.to_h { |p| p.split "=", 2 }
329
367
  else
330
368
  {}
331
369
  end
@@ -363,7 +401,7 @@ module Google
363
401
 
364
402
  verb, uri, query_string_params, body = ServiceStub.transcode_get_recommender_config_request request_pb
365
403
  query_string_params = if query_string_params.any?
366
- query_string_params.to_h { |p| p.split("=", 2) }
404
+ query_string_params.to_h { |p| p.split "=", 2 }
367
405
  else
368
406
  {}
369
407
  end
@@ -401,7 +439,7 @@ module Google
401
439
 
402
440
  verb, uri, query_string_params, body = ServiceStub.transcode_update_recommender_config_request request_pb
403
441
  query_string_params = if query_string_params.any?
404
- query_string_params.to_h { |p| p.split("=", 2) }
442
+ query_string_params.to_h { |p| p.split "=", 2 }
405
443
  else
406
444
  {}
407
445
  end
@@ -439,7 +477,7 @@ module Google
439
477
 
440
478
  verb, uri, query_string_params, body = ServiceStub.transcode_get_insight_type_config_request request_pb
441
479
  query_string_params = if query_string_params.any?
442
- query_string_params.to_h { |p| p.split("=", 2) }
480
+ query_string_params.to_h { |p| p.split "=", 2 }
443
481
  else
444
482
  {}
445
483
  end
@@ -477,7 +515,7 @@ module Google
477
515
 
478
516
  verb, uri, query_string_params, body = ServiceStub.transcode_update_insight_type_config_request request_pb
479
517
  query_string_params = if query_string_params.any?
480
- query_string_params.to_h { |p| p.split("=", 2) }
518
+ query_string_params.to_h { |p| p.split "=", 2 }
481
519
  else
482
520
  {}
483
521
  end
@@ -710,6 +748,52 @@ module Google
710
748
  transcoder.transcode request_pb
711
749
  end
712
750
 
751
+ ##
752
+ # @private
753
+ #
754
+ # GRPC transcoding helper method for the mark_recommendation_dismissed REST call
755
+ #
756
+ # @param request_pb [::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest]
757
+ # A request object representing the call parameters. Required.
758
+ # @return [Array(String, [String, nil], Hash{String => String})]
759
+ # Uri, Body, Query string parameters
760
+ def self.transcode_mark_recommendation_dismissed_request request_pb
761
+ transcoder = Gapic::Rest::GrpcTranscoder.new
762
+ .with_bindings(
763
+ uri_method: :post,
764
+ uri_template: "/v1/{name}:markDismissed",
765
+ body: "*",
766
+ matches: [
767
+ ["name", %r{^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+/?$}, false]
768
+ ]
769
+ )
770
+ .with_bindings(
771
+ uri_method: :post,
772
+ uri_template: "/v1/{name}:markDismissed",
773
+ body: "*",
774
+ matches: [
775
+ ["name", %r{^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+/?$}, false]
776
+ ]
777
+ )
778
+ .with_bindings(
779
+ uri_method: :post,
780
+ uri_template: "/v1/{name}:markDismissed",
781
+ body: "*",
782
+ matches: [
783
+ ["name", %r{^folders/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+/?$}, false]
784
+ ]
785
+ )
786
+ .with_bindings(
787
+ uri_method: :post,
788
+ uri_template: "/v1/{name}:markDismissed",
789
+ body: "*",
790
+ matches: [
791
+ ["name", %r{^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+/?$}, false]
792
+ ]
793
+ )
794
+ transcoder.transcode request_pb
795
+ end
796
+
713
797
  ##
714
798
  # @private
715
799
  #
@@ -873,6 +957,13 @@ module Google
873
957
  ["name", %r{^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/config/?$}, false]
874
958
  ]
875
959
  )
960
+ .with_bindings(
961
+ uri_method: :get,
962
+ uri_template: "/v1/{name}",
963
+ matches: [
964
+ ["name", %r{^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/config/?$}, false]
965
+ ]
966
+ )
876
967
  transcoder.transcode request_pb
877
968
  end
878
969
 
@@ -903,6 +994,14 @@ module Google
903
994
  ["recommender_config.name", %r{^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/config/?$}, false]
904
995
  ]
905
996
  )
997
+ .with_bindings(
998
+ uri_method: :patch,
999
+ uri_template: "/v1/{recommender_config.name}",
1000
+ body: "recommender_config",
1001
+ matches: [
1002
+ ["recommender_config.name", %r{^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+/config/?$}, false]
1003
+ ]
1004
+ )
906
1005
  transcoder.transcode request_pb
907
1006
  end
908
1007
 
@@ -931,6 +1030,13 @@ module Google
931
1030
  ["name", %r{^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/config/?$}, false]
932
1031
  ]
933
1032
  )
1033
+ .with_bindings(
1034
+ uri_method: :get,
1035
+ uri_template: "/v1/{name}",
1036
+ matches: [
1037
+ ["name", %r{^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+/config/?$}, false]
1038
+ ]
1039
+ )
934
1040
  transcoder.transcode request_pb
935
1041
  end
936
1042
 
@@ -961,6 +1067,14 @@ module Google
961
1067
  ["insight_type_config.name", %r{^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/config/?$}, false]
962
1068
  ]
963
1069
  )
1070
+ .with_bindings(
1071
+ uri_method: :patch,
1072
+ uri_template: "/v1/{insight_type_config.name}",
1073
+ body: "insight_type_config",
1074
+ matches: [
1075
+ ["insight_type_config.name", %r{^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+/config/?$}, false]
1076
+ ]
1077
+ )
964
1078
  transcoder.transcode request_pb
965
1079
  end
966
1080
  end
@@ -10,7 +10,7 @@ require 'google/protobuf/struct_pb'
10
10
  require 'google/protobuf/timestamp_pb'
11
11
 
12
12
 
13
- descriptor_data = "\n4google/cloud/recommender/v1/recommender_config.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd3\x04\n\x11RecommenderConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12_\n\x1drecommender_generation_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.recommender.v1.RecommenderGenerationConfig\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0brevision_id\x18\x05 \x01(\tB\x06\xe0\x41\x05\xe0\x41\x03\x12T\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32?.google.cloud.recommender.v1.RecommenderConfig.AnnotationsEntry\x12\x14\n\x0c\x64isplay_name\x18\x07 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xd2\x01\xea\x41\xce\x01\n,recommender.googleapis.com/RecommenderConfig\x12Iprojects/{project}/locations/{location}/recommenders/{recommender}/config\x12Sorganizations/{organization}/locations/{location}/recommenders/{recommender}/config\"F\n\x1bRecommenderGenerationConfig\x12\'\n\x06params\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructB\xa3\x01\n\x1f\x63om.google.cloud.recommender.v1B\x16RecommenderConfigProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1b\x06proto3"
13
+ descriptor_data = "\n4google/cloud/recommender/v1/recommender_config.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xad\x05\n\x11RecommenderConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12_\n\x1drecommender_generation_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.recommender.v1.RecommenderGenerationConfig\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0brevision_id\x18\x05 \x01(\tB\x06\xe0\x41\x05\xe0\x41\x03\x12T\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32?.google.cloud.recommender.v1.RecommenderConfig.AnnotationsEntry\x12\x14\n\x0c\x64isplay_name\x18\x07 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xac\x02\xea\x41\xa8\x02\n,recommender.googleapis.com/RecommenderConfig\x12Iprojects/{project}/locations/{location}/recommenders/{recommender}/config\x12Sorganizations/{organization}/locations/{location}/recommenders/{recommender}/config\x12XbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}/config\"F\n\x1bRecommenderGenerationConfig\x12\'\n\x06params\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructB\xa3\x01\n\x1f\x63om.google.cloud.recommender.v1B\x16RecommenderConfigProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1b\x06proto3"
14
14
 
15
15
  pool = Google::Protobuf::DescriptorPool.generated_pool
16
16
 
@@ -15,7 +15,7 @@ require 'google/cloud/recommender/v1/recommender_config_pb'
15
15
  require 'google/protobuf/field_mask_pb'
16
16
 
17
17
 
18
- descriptor_data = "\n5google/cloud/recommender/v1/recommender_service.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/recommender/v1/insight.proto\x1a\x35google/cloud/recommender/v1/insight_type_config.proto\x1a\x30google/cloud/recommender/v1/recommendation.proto\x1a\x34google/cloud/recommender/v1/recommender_config.proto\x1a google/protobuf/field_mask.proto\"\x9b\x01\n\x13ListInsightsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recommender.googleapis.com/InsightType\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\"g\n\x14ListInsightsResponse\x12\x36\n\x08insights\x18\x01 \x03(\x0b\x32$.google.cloud.recommender.v1.Insight\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"M\n\x11GetInsightRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"recommender.googleapis.com/Insight\"\x88\x02\n\x1aMarkInsightAcceptedRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"recommender.googleapis.com/Insight\x12g\n\x0estate_metadata\x18\x02 \x03(\x0b\x32J.google.cloud.recommender.v1.MarkInsightAcceptedRequest.StateMetadataEntryB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9d\x01\n\x1aListRecommendationsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recommender.googleapis.com/Recommender\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\"|\n\x1bListRecommendationsResponse\x12\x44\n\x0frecommendations\x18\x01 \x03(\x0b\x32+.google.cloud.recommender.v1.Recommendation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"[\n\x18GetRecommendationRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\"\x96\x02\n MarkRecommendationClaimedRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\x12h\n\x0estate_metadata\x18\x02 \x03(\x0b\x32P.google.cloud.recommender.v1.MarkRecommendationClaimedRequest.StateMetadataEntry\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9a\x02\n\"MarkRecommendationSucceededRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\x12j\n\x0estate_metadata\x18\x02 \x03(\x0b\x32R.google.cloud.recommender.v1.MarkRecommendationSucceededRequest.StateMetadataEntry\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x94\x02\n\x1fMarkRecommendationFailedRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\x12g\n\x0estate_metadata\x18\x02 \x03(\x0b\x32O.google.cloud.recommender.v1.MarkRecommendationFailedRequest.StateMetadataEntry\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x1bGetRecommenderConfigRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,recommender.googleapis.com/RecommenderConfig\"\xb9\x01\n\x1eUpdateRecommenderConfigRequest\x12O\n\x12recommender_config\x18\x01 \x01(\x0b\x32..google.cloud.recommender.v1.RecommenderConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\"a\n\x1bGetInsightTypeConfigRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,recommender.googleapis.com/InsightTypeConfig\"\xba\x01\n\x1eUpdateInsightTypeConfigRequest\x12P\n\x13insight_type_config\x18\x01 \x01(\x0b\x32..google.cloud.recommender.v1.InsightTypeConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x32\xff\'\n\x0bRecommender\x12\x8b\x03\n\x0cListInsights\x12\x30.google.cloud.recommender.v1.ListInsightsRequest\x1a\x31.google.cloud.recommender.v1.ListInsightsResponse\"\x95\x02\x82\xd3\xe4\x93\x02\x85\x02\x12;/v1/{parent=projects/*/locations/*/insightTypes/*}/insightsZD\x12\x42/v1/{parent=billingAccounts/*/locations/*/insightTypes/*}/insightsZ<\x12:/v1/{parent=folders/*/locations/*/insightTypes/*}/insightsZB\x12@/v1/{parent=organizations/*/locations/*/insightTypes/*}/insights\xda\x41\x06parent\x12\xf8\x02\n\nGetInsight\x12..google.cloud.recommender.v1.GetInsightRequest\x1a$.google.cloud.recommender.v1.Insight\"\x93\x02\x82\xd3\xe4\x93\x02\x85\x02\x12;/v1/{name=projects/*/locations/*/insightTypes/*/insights/*}ZD\x12\x42/v1/{name=billingAccounts/*/locations/*/insightTypes/*/insights/*}Z<\x12:/v1/{name=folders/*/locations/*/insightTypes/*/insights/*}ZB\x12@/v1/{name=organizations/*/locations/*/insightTypes/*/insights/*}\xda\x41\x04name\x12\xde\x03\n\x13MarkInsightAccepted\x12\x37.google.cloud.recommender.v1.MarkInsightAcceptedRequest\x1a$.google.cloud.recommender.v1.Insight\"\xe7\x02\x82\xd3\xe4\x93\x02\xc5\x02\"H/v1/{name=projects/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*ZT\"O/v1/{name=billingAccounts/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*ZL\"G/v1/{name=folders/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*ZR\"M/v1/{name=organizations/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*\xda\x41\x18name,state_metadata,etag\x12\xcc\x03\n\x13ListRecommendations\x12\x37.google.cloud.recommender.v1.ListRecommendationsRequest\x1a\x38.google.cloud.recommender.v1.ListRecommendationsResponse\"\xc1\x02\x82\xd3\xe4\x93\x02\xa1\x02\x12\x42/v1/{parent=projects/*/locations/*/recommenders/*}/recommendationsZK\x12I/v1/{parent=billingAccounts/*/locations/*/recommenders/*}/recommendationsZC\x12\x41/v1/{parent=folders/*/locations/*/recommenders/*}/recommendationsZI\x12G/v1/{parent=organizations/*/locations/*/recommenders/*}/recommendations\xda\x41\x06parent\xda\x41\rparent,filter\x12\xa9\x03\n\x11GetRecommendation\x12\x35.google.cloud.recommender.v1.GetRecommendationRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\xaf\x02\x82\xd3\xe4\x93\x02\xa1\x02\x12\x42/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}ZK\x12I/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}ZC\x12\x41/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}ZI\x12G/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}\xda\x41\x04name\x12\x89\x04\n\x19MarkRecommendationClaimed\x12=.google.cloud.recommender.v1.MarkRecommendationClaimedRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\xff\x02\x82\xd3\xe4\x93\x02\xdd\x02\"N/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*ZZ\"U/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*ZR\"M/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*ZX\"S/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*\xda\x41\x18name,state_metadata,etag\x12\x95\x04\n\x1bMarkRecommendationSucceeded\x12?.google.cloud.recommender.v1.MarkRecommendationSucceededRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\x87\x03\x82\xd3\xe4\x93\x02\xe5\x02\"P/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*Z\\\"W/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*ZT\"O/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*ZZ\"U/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*\xda\x41\x18name,state_metadata,etag\x12\x83\x04\n\x18MarkRecommendationFailed\x12<.google.cloud.recommender.v1.MarkRecommendationFailedRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\xfb\x02\x82\xd3\xe4\x93\x02\xd9\x02\"M/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*ZY\"T/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*ZQ\"L/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*ZW\"R/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*\xda\x41\x18name,state_metadata,etag\x12\x89\x02\n\x14GetRecommenderConfig\x12\x38.google.cloud.recommender.v1.GetRecommenderConfigRequest\x1a..google.cloud.recommender.v1.RecommenderConfig\"\x86\x01\x82\xd3\xe4\x93\x02y\x12\x37/v1/{name=projects/*/locations/*/recommenders/*/config}Z>\x12</v1/{name=organizations/*/locations/*/recommenders/*/config}\xda\x41\x04name\x12\xf8\x02\n\x17UpdateRecommenderConfig\x12;.google.cloud.recommender.v1.UpdateRecommenderConfigRequest\x1a..google.cloud.recommender.v1.RecommenderConfig\"\xef\x01\x82\xd3\xe4\x93\x02\xc7\x01\x32J/v1/{recommender_config.name=projects/*/locations/*/recommenders/*/config}:\x12recommender_configZe2O/v1/{recommender_config.name=organizations/*/locations/*/recommenders/*/config}:\x12recommender_config\xda\x41\x1erecommender_config,update_mask\x12\x89\x02\n\x14GetInsightTypeConfig\x12\x38.google.cloud.recommender.v1.GetInsightTypeConfigRequest\x1a..google.cloud.recommender.v1.InsightTypeConfig\"\x86\x01\x82\xd3\xe4\x93\x02y\x12\x37/v1/{name=projects/*/locations/*/insightTypes/*/config}Z>\x12</v1/{name=organizations/*/locations/*/insightTypes/*/config}\xda\x41\x04name\x12\xfd\x02\n\x17UpdateInsightTypeConfig\x12;.google.cloud.recommender.v1.UpdateInsightTypeConfigRequest\x1a..google.cloud.recommender.v1.InsightTypeConfig\"\xf4\x01\x82\xd3\xe4\x93\x02\xcb\x01\x32K/v1/{insight_type_config.name=projects/*/locations/*/insightTypes/*/config}:\x13insight_type_configZg2P/v1/{insight_type_config.name=organizations/*/locations/*/insightTypes/*/config}:\x13insight_type_config\xda\x41\x1finsight_type_config,update_mask\x1aN\xca\x41\x1arecommender.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x9d\x01\n\x1f\x63om.google.cloud.recommender.v1B\x10RecommenderProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1b\x06proto3"
18
+ descriptor_data = "\n5google/cloud/recommender/v1/recommender_service.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/recommender/v1/insight.proto\x1a\x35google/cloud/recommender/v1/insight_type_config.proto\x1a\x30google/cloud/recommender/v1/recommendation.proto\x1a\x34google/cloud/recommender/v1/recommender_config.proto\x1a google/protobuf/field_mask.proto\"\x9b\x01\n\x13ListInsightsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recommender.googleapis.com/InsightType\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\"g\n\x14ListInsightsResponse\x12\x36\n\x08insights\x18\x01 \x03(\x0b\x32$.google.cloud.recommender.v1.Insight\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"M\n\x11GetInsightRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"recommender.googleapis.com/Insight\"\x88\x02\n\x1aMarkInsightAcceptedRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"recommender.googleapis.com/Insight\x12g\n\x0estate_metadata\x18\x02 \x03(\x0b\x32J.google.cloud.recommender.v1.MarkInsightAcceptedRequest.StateMetadataEntryB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9d\x01\n\x1aListRecommendationsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recommender.googleapis.com/Recommender\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\"|\n\x1bListRecommendationsResponse\x12\x44\n\x0frecommendations\x18\x01 \x03(\x0b\x32+.google.cloud.recommender.v1.Recommendation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"[\n\x18GetRecommendationRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\"s\n\"MarkRecommendationDismissedRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t\"\x96\x02\n MarkRecommendationClaimedRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\x12h\n\x0estate_metadata\x18\x02 \x03(\x0b\x32P.google.cloud.recommender.v1.MarkRecommendationClaimedRequest.StateMetadataEntry\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9a\x02\n\"MarkRecommendationSucceededRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\x12j\n\x0estate_metadata\x18\x02 \x03(\x0b\x32R.google.cloud.recommender.v1.MarkRecommendationSucceededRequest.StateMetadataEntry\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x94\x02\n\x1fMarkRecommendationFailedRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)recommender.googleapis.com/Recommendation\x12g\n\x0estate_metadata\x18\x02 \x03(\x0b\x32O.google.cloud.recommender.v1.MarkRecommendationFailedRequest.StateMetadataEntry\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x02\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x1bGetRecommenderConfigRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,recommender.googleapis.com/RecommenderConfig\"\xb9\x01\n\x1eUpdateRecommenderConfigRequest\x12O\n\x12recommender_config\x18\x01 \x01(\x0b\x32..google.cloud.recommender.v1.RecommenderConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\"a\n\x1bGetInsightTypeConfigRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,recommender.googleapis.com/InsightTypeConfig\"\xba\x01\n\x1eUpdateInsightTypeConfigRequest\x12P\n\x13insight_type_config\x18\x01 \x01(\x0b\x32..google.cloud.recommender.v1.InsightTypeConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x32\xd6.\n\x0bRecommender\x12\x8b\x03\n\x0cListInsights\x12\x30.google.cloud.recommender.v1.ListInsightsRequest\x1a\x31.google.cloud.recommender.v1.ListInsightsResponse\"\x95\x02\x82\xd3\xe4\x93\x02\x85\x02\x12;/v1/{parent=projects/*/locations/*/insightTypes/*}/insightsZD\x12\x42/v1/{parent=billingAccounts/*/locations/*/insightTypes/*}/insightsZ<\x12:/v1/{parent=folders/*/locations/*/insightTypes/*}/insightsZB\x12@/v1/{parent=organizations/*/locations/*/insightTypes/*}/insights\xda\x41\x06parent\x12\xf8\x02\n\nGetInsight\x12..google.cloud.recommender.v1.GetInsightRequest\x1a$.google.cloud.recommender.v1.Insight\"\x93\x02\x82\xd3\xe4\x93\x02\x85\x02\x12;/v1/{name=projects/*/locations/*/insightTypes/*/insights/*}ZD\x12\x42/v1/{name=billingAccounts/*/locations/*/insightTypes/*/insights/*}Z<\x12:/v1/{name=folders/*/locations/*/insightTypes/*/insights/*}ZB\x12@/v1/{name=organizations/*/locations/*/insightTypes/*/insights/*}\xda\x41\x04name\x12\xde\x03\n\x13MarkInsightAccepted\x12\x37.google.cloud.recommender.v1.MarkInsightAcceptedRequest\x1a$.google.cloud.recommender.v1.Insight\"\xe7\x02\x82\xd3\xe4\x93\x02\xc5\x02\"H/v1/{name=projects/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*ZT\"O/v1/{name=billingAccounts/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*ZL\"G/v1/{name=folders/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*ZR\"M/v1/{name=organizations/*/locations/*/insightTypes/*/insights/*}:markAccepted:\x01*\xda\x41\x18name,state_metadata,etag\x12\xcc\x03\n\x13ListRecommendations\x12\x37.google.cloud.recommender.v1.ListRecommendationsRequest\x1a\x38.google.cloud.recommender.v1.ListRecommendationsResponse\"\xc1\x02\x82\xd3\xe4\x93\x02\xa1\x02\x12\x42/v1/{parent=projects/*/locations/*/recommenders/*}/recommendationsZK\x12I/v1/{parent=billingAccounts/*/locations/*/recommenders/*}/recommendationsZC\x12\x41/v1/{parent=folders/*/locations/*/recommenders/*}/recommendationsZI\x12G/v1/{parent=organizations/*/locations/*/recommenders/*}/recommendations\xda\x41\x06parent\xda\x41\rparent,filter\x12\xa9\x03\n\x11GetRecommendation\x12\x35.google.cloud.recommender.v1.GetRecommendationRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\xaf\x02\x82\xd3\xe4\x93\x02\xa1\x02\x12\x42/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}ZK\x12I/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}ZC\x12\x41/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}ZI\x12G/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}\xda\x41\x04name\x12\xfa\x03\n\x1bMarkRecommendationDismissed\x12?.google.cloud.recommender.v1.MarkRecommendationDismissedRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\xec\x02\x82\xd3\xe4\x93\x02\xe5\x02\"P/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}:markDismissed:\x01*Z\\\"W/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}:markDismissed:\x01*ZT\"O/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}:markDismissed:\x01*ZZ\"U/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}:markDismissed:\x01*\x12\x89\x04\n\x19MarkRecommendationClaimed\x12=.google.cloud.recommender.v1.MarkRecommendationClaimedRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\xff\x02\x82\xd3\xe4\x93\x02\xdd\x02\"N/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*ZZ\"U/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*ZR\"M/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*ZX\"S/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}:markClaimed:\x01*\xda\x41\x18name,state_metadata,etag\x12\x95\x04\n\x1bMarkRecommendationSucceeded\x12?.google.cloud.recommender.v1.MarkRecommendationSucceededRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\x87\x03\x82\xd3\xe4\x93\x02\xe5\x02\"P/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*Z\\\"W/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*ZT\"O/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*ZZ\"U/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}:markSucceeded:\x01*\xda\x41\x18name,state_metadata,etag\x12\x83\x04\n\x18MarkRecommendationFailed\x12<.google.cloud.recommender.v1.MarkRecommendationFailedRequest\x1a+.google.cloud.recommender.v1.Recommendation\"\xfb\x02\x82\xd3\xe4\x93\x02\xd9\x02\"M/v1/{name=projects/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*ZY\"T/v1/{name=billingAccounts/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*ZQ\"L/v1/{name=folders/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*ZW\"R/v1/{name=organizations/*/locations/*/recommenders/*/recommendations/*}:markFailed:\x01*\xda\x41\x18name,state_metadata,etag\x12\xcc\x02\n\x14GetRecommenderConfig\x12\x38.google.cloud.recommender.v1.GetRecommenderConfigRequest\x1a..google.cloud.recommender.v1.RecommenderConfig\"\xc9\x01\x82\xd3\xe4\x93\x02\xbb\x01\x12\x37/v1/{name=projects/*/locations/*/recommenders/*/config}Z>\x12</v1/{name=organizations/*/locations/*/recommenders/*/config}Z@\x12>/v1/{name=billingAccounts/*/locations/*/recommenders/*/config}\xda\x41\x04name\x12\xe1\x03\n\x17UpdateRecommenderConfig\x12;.google.cloud.recommender.v1.UpdateRecommenderConfigRequest\x1a..google.cloud.recommender.v1.RecommenderConfig\"\xd8\x02\x82\xd3\xe4\x93\x02\xb0\x02\x32J/v1/{recommender_config.name=projects/*/locations/*/recommenders/*/config}:\x12recommender_configZe2O/v1/{recommender_config.name=organizations/*/locations/*/recommenders/*/config}:\x12recommender_configZg2Q/v1/{recommender_config.name=billingAccounts/*/locations/*/recommenders/*/config}:\x12recommender_config\xda\x41\x1erecommender_config,update_mask\x12\xcc\x02\n\x14GetInsightTypeConfig\x12\x38.google.cloud.recommender.v1.GetInsightTypeConfigRequest\x1a..google.cloud.recommender.v1.InsightTypeConfig\"\xc9\x01\x82\xd3\xe4\x93\x02\xbb\x01\x12\x37/v1/{name=projects/*/locations/*/insightTypes/*/config}Z>\x12</v1/{name=organizations/*/locations/*/insightTypes/*/config}Z@\x12>/v1/{name=billingAccounts/*/locations/*/insightTypes/*/config}\xda\x41\x04name\x12\xe8\x03\n\x17UpdateInsightTypeConfig\x12;.google.cloud.recommender.v1.UpdateInsightTypeConfigRequest\x1a..google.cloud.recommender.v1.InsightTypeConfig\"\xdf\x02\x82\xd3\xe4\x93\x02\xb6\x02\x32K/v1/{insight_type_config.name=projects/*/locations/*/insightTypes/*/config}:\x13insight_type_configZg2P/v1/{insight_type_config.name=organizations/*/locations/*/insightTypes/*/config}:\x13insight_type_configZi2R/v1/{insight_type_config.name=billingAccounts/*/locations/*/insightTypes/*/config}:\x13insight_type_config\xda\x41\x1finsight_type_config,update_mask\x1aN\xca\x41\x1arecommender.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x9d\x01\n\x1f\x63om.google.cloud.recommender.v1B\x10RecommenderProtoP\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1b\x06proto3"
19
19
 
20
20
  pool = Google::Protobuf::DescriptorPool.generated_pool
21
21
 
@@ -57,6 +57,7 @@ module Google
57
57
  ListRecommendationsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ListRecommendationsRequest").msgclass
58
58
  ListRecommendationsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ListRecommendationsResponse").msgclass
59
59
  GetRecommendationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.GetRecommendationRequest").msgclass
60
+ MarkRecommendationDismissedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.MarkRecommendationDismissedRequest").msgclass
60
61
  MarkRecommendationClaimedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.MarkRecommendationClaimedRequest").msgclass
61
62
  MarkRecommendationSucceededRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.MarkRecommendationSucceededRequest").msgclass
62
63
  MarkRecommendationFailedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.MarkRecommendationFailedRequest").msgclass
@@ -55,6 +55,16 @@ module Google
55
55
  # Gets the requested recommendation. Requires the recommender.*.get
56
56
  # IAM permission for the specified recommender.
57
57
  rpc :GetRecommendation, ::Google::Cloud::Recommender::V1::GetRecommendationRequest, ::Google::Cloud::Recommender::V1::Recommendation
58
+ # Mark the Recommendation State as Dismissed. Users can use this method to
59
+ # indicate to the Recommender API that an ACTIVE recommendation has to
60
+ # be marked back as DISMISSED.
61
+ #
62
+ # MarkRecommendationDismissed can be applied to recommendations in ACTIVE
63
+ # state.
64
+ #
65
+ # Requires the recommender.*.update IAM permission for the specified
66
+ # recommender.
67
+ rpc :MarkRecommendationDismissed, ::Google::Cloud::Recommender::V1::MarkRecommendationDismissedRequest, ::Google::Cloud::Recommender::V1::Recommendation
58
68
  # Marks the Recommendation State as Claimed. Users can use this method to
59
69
  # indicate to the Recommender API that they are starting to apply the
60
70
  # recommendation themselves. This stops the recommendation content from being
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Recommender
23
23
  module V1
24
- VERSION = "0.13.0"
24
+ VERSION = "0.14.0"
25
25
  end
26
26
  end
27
27
  end
@@ -66,6 +66,20 @@ module Google
66
66
  # a non-empty value will be returned. The user will not be aware of what
67
67
  # non-empty value to expect.
68
68
  NON_EMPTY_DEFAULT = 7
69
+
70
+ # Denotes that the field in a resource (a message annotated with
71
+ # google.api.resource) is used in the resource name to uniquely identify the
72
+ # resource. For AIP-compliant APIs, this should only be applied to the
73
+ # `name` field on the resource.
74
+ #
75
+ # This behavior should not be applied to references to other resources within
76
+ # the message.
77
+ #
78
+ # The identifier field of resources often have different field behavior
79
+ # depending on the request it is embedded in (e.g. for Create methods name
80
+ # is optional and unused, while for Update methods it is required). Instead
81
+ # of method-specific annotations, only `IDENTIFIER` is required.
82
+ IDENTIFIER = 8
69
83
  end
70
84
  end
71
85
  end
@@ -22,7 +22,7 @@ module Google
22
22
  module Recommender
23
23
  module V1
24
24
  # An insight along with the information used to derive the insight. The insight
25
- # may have associated recomendations as well.
25
+ # may have associated recommendations as well.
26
26
  # @!attribute [rw] name
27
27
  # @return [::String]
28
28
  # Name of the insight.
@@ -94,6 +94,12 @@ module Google
94
94
 
95
95
  # This insight is related to manageability.
96
96
  MANAGEABILITY = 4
97
+
98
+ # The insight is related to sustainability.
99
+ SUSTAINABILITY = 5
100
+
101
+ # This insight is related to reliability.
102
+ RELIABILITY = 6
97
103
  end
98
104
 
99
105
  # Insight severity levels.
@@ -278,6 +278,48 @@ module Google
278
278
  extend ::Google::Protobuf::MessageExts::ClassMethods
279
279
  end
280
280
 
281
+ # Contains metadata about how much sustainability a recommendation can save or
282
+ # incur.
283
+ # @!attribute [rw] kg_c_o2e
284
+ # @return [::Float]
285
+ # Carbon Footprint generated in kg of CO2 equivalent.
286
+ # Chose kg_c_o2e so that the name renders correctly in camelCase (kgCO2e).
287
+ # @!attribute [rw] duration
288
+ # @return [::Google::Protobuf::Duration]
289
+ # Duration for which this sustainability applies.
290
+ class SustainabilityProjection
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+
295
+ # Contains information on the impact of a reliability recommendation.
296
+ # @!attribute [rw] risks
297
+ # @return [::Array<::Google::Cloud::Recommender::V1::ReliabilityProjection::RiskType>]
298
+ # Reliability risks mitigated by this recommendation.
299
+ # @!attribute [rw] details
300
+ # @return [::Google::Protobuf::Struct]
301
+ # Per-recommender projection.
302
+ class ReliabilityProjection
303
+ include ::Google::Protobuf::MessageExts
304
+ extend ::Google::Protobuf::MessageExts::ClassMethods
305
+
306
+ # The risk associated with the reliability issue.
307
+ module RiskType
308
+ # Default unspecified risk. Don't use directly.
309
+ RISK_TYPE_UNSPECIFIED = 0
310
+
311
+ # Potential service downtime.
312
+ SERVICE_DISRUPTION = 1
313
+
314
+ # Potential data loss.
315
+ DATA_LOSS = 2
316
+
317
+ # Potential access denial. The service is still up but some or all clients
318
+ # can't access it.
319
+ ACCESS_DENY = 3
320
+ end
321
+ end
322
+
281
323
  # Contains the impact a recommendation can have for a given category.
282
324
  # @!attribute [rw] category
283
325
  # @return [::Google::Cloud::Recommender::V1::Impact::Category]
@@ -288,6 +330,12 @@ module Google
288
330
  # @!attribute [rw] security_projection
289
331
  # @return [::Google::Cloud::Recommender::V1::SecurityProjection]
290
332
  # Use with CategoryType.SECURITY
333
+ # @!attribute [rw] sustainability_projection
334
+ # @return [::Google::Cloud::Recommender::V1::SustainabilityProjection]
335
+ # Use with CategoryType.SUSTAINABILITY
336
+ # @!attribute [rw] reliability_projection
337
+ # @return [::Google::Cloud::Recommender::V1::ReliabilityProjection]
338
+ # Use with CategoryType.RELAIBILITY
291
339
  class Impact
292
340
  include ::Google::Protobuf::MessageExts
293
341
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -308,6 +356,12 @@ module Google
308
356
 
309
357
  # Indicates a potential increase or decrease in manageability.
310
358
  MANAGEABILITY = 4
359
+
360
+ # Indicates a potential increase or decrease in sustainability.
361
+ SUSTAINABILITY = 5
362
+
363
+ # Indicates a potential increase or decrease in reliability.
364
+ RELIABILITY = 6
311
365
  end
312
366
  end
313
367
 
@@ -208,6 +208,18 @@ module Google
208
208
  extend ::Google::Protobuf::MessageExts::ClassMethods
209
209
  end
210
210
 
211
+ # Request for the `MarkRecommendationDismissed` Method.
212
+ # @!attribute [rw] name
213
+ # @return [::String]
214
+ # Name of the recommendation.
215
+ # @!attribute [rw] etag
216
+ # @return [::String]
217
+ # Fingerprint of the Recommendation. Provides optimistic locking.
218
+ class MarkRecommendationDismissedRequest
219
+ include ::Google::Protobuf::MessageExts
220
+ extend ::Google::Protobuf::MessageExts::ClassMethods
221
+ end
222
+
211
223
  # Request for the `MarkRecommendationClaimed` Method.
212
224
  # @!attribute [rw] name
213
225
  # @return [::String]
@@ -301,6 +313,8 @@ module Google
301
313
  # * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
302
314
  #
303
315
  # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
316
+ #
317
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
304
318
  class GetRecommenderConfigRequest
305
319
  include ::Google::Protobuf::MessageExts
306
320
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -329,11 +343,13 @@ module Google
329
343
  #
330
344
  # Acceptable formats:
331
345
  #
332
- # * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
346
+ # * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
347
+ #
348
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
333
349
  #
334
- # * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
350
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
335
351
  #
336
- # * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
352
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
337
353
  class GetInsightTypeConfigRequest
338
354
  include ::Google::Protobuf::MessageExts
339
355
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-recommender-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-01 00:00:00.000000000 Z
11
+ date: 2023-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.0
19
+ version: 0.19.1
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.19.0
29
+ version: 0.19.1
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -220,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
222
  requirements: []
223
- rubygems_version: 3.4.2
223
+ rubygems_version: 3.4.19
224
224
  signing_key:
225
225
  specification_version: 4
226
226
  summary: API Client library for the Recommender V1 API