google-cloud-recommender-v1 0.13.1 → 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: 887fd3076b802d7406cc70fc77095445d2706335f7df3354b79f40e8e2c1d3c4
4
- data.tar.gz: 474455fba3fc5719c52339a68f0e28cc78606a5428b2ad11177a779d0163a378
3
+ metadata.gz: 9b4297f40d6baffecbcd75a8d86f600d16d39a1574de8826c43853ecfd79d30e
4
+ data.tar.gz: 335b30dea992cda14379fec2ea54c931abb5628b6bbfcfdbbf15bf8e9b9c5446
5
5
  SHA512:
6
- metadata.gz: 674ecc265e9260c12c3b7a1aba089f78ac5bedb794fa6d2ff01b1f21d970b7d033b23991f23486d33cd874e67ae5f2dd462d5ef5f75616189952dcccca9ef72f
7
- data.tar.gz: '09e81d342f5c0160c8d33937a86d65effb665ee4199b1e865cad5c8696558bba595e61bfc7f20a6c5eb1c8854ddc8dfcb9ae3bea69816aa1aca782d61a0d69d8'
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
@@ -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`
1236
1333
  #
1237
- # * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1334
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
1238
1335
  #
1239
- # * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1336
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
1337
+ #
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]
@@ -1556,6 +1655,11 @@ module Google
1556
1655
  #
1557
1656
  attr_reader :get_recommendation
1558
1657
  ##
1658
+ # RPC-specific configuration for `mark_recommendation_dismissed`
1659
+ # @return [::Gapic::Config::Method]
1660
+ #
1661
+ attr_reader :mark_recommendation_dismissed
1662
+ ##
1559
1663
  # RPC-specific configuration for `mark_recommendation_claimed`
1560
1664
  # @return [::Gapic::Config::Method]
1561
1665
  #
@@ -1603,6 +1707,8 @@ module Google
1603
1707
  @list_recommendations = ::Gapic::Config::Method.new list_recommendations_config
1604
1708
  get_recommendation_config = parent_rpcs.get_recommendation if parent_rpcs.respond_to? :get_recommendation
1605
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
1606
1712
  mark_recommendation_claimed_config = parent_rpcs.mark_recommendation_claimed if parent_rpcs.respond_to? :mark_recommendation_claimed
1607
1713
  @mark_recommendation_claimed = ::Gapic::Config::Method.new mark_recommendation_claimed_config
1608
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
 
@@ -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`
1063
+ #
1064
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
989
1065
  #
990
- # * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
1066
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config`
991
1067
  #
992
- # * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
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]
@@ -1251,6 +1327,11 @@ module Google
1251
1327
  #
1252
1328
  attr_reader :get_recommendation
1253
1329
  ##
1330
+ # RPC-specific configuration for `mark_recommendation_dismissed`
1331
+ # @return [::Gapic::Config::Method]
1332
+ #
1333
+ attr_reader :mark_recommendation_dismissed
1334
+ ##
1254
1335
  # RPC-specific configuration for `mark_recommendation_claimed`
1255
1336
  # @return [::Gapic::Config::Method]
1256
1337
  #
@@ -1298,6 +1379,8 @@ module Google
1298
1379
  @list_recommendations = ::Gapic::Config::Method.new list_recommendations_config
1299
1380
  get_recommendation_config = parent_rpcs.get_recommendation if parent_rpcs.respond_to? :get_recommendation
1300
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
1301
1384
  mark_recommendation_claimed_config = parent_rpcs.mark_recommendation_claimed if parent_rpcs.respond_to? :mark_recommendation_claimed
1302
1385
  @mark_recommendation_claimed = ::Gapic::Config::Method.new mark_recommendation_claimed_config
1303
1386
  mark_recommendation_succeeded_config = parent_rpcs.mark_recommendation_succeeded if parent_rpcs.respond_to? :mark_recommendation_succeeded
@@ -230,6 +230,44 @@ module Google
230
230
  result
231
231
  end
232
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 }
253
+ else
254
+ {}
255
+ end
256
+
257
+ response = @client_stub.make_http_request(
258
+ verb,
259
+ uri: uri,
260
+ body: body || "",
261
+ params: query_string_params,
262
+ options: options
263
+ )
264
+ operation = ::Gapic::Rest::TransportOperation.new response
265
+ result = ::Google::Cloud::Recommender::V1::Recommendation.decode_json response.body, ignore_unknown_fields: true
266
+
267
+ yield result, operation if block_given?
268
+ result
269
+ end
270
+
233
271
  ##
234
272
  # Baseline implementation for the mark_recommendation_claimed REST call
235
273
  #
@@ -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.1"
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.1
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-06 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
@@ -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