grpc 第三方依赖 就是grpc的 third_party 文件夹
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

141 lines
5.1 KiB

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.cloud.recommender.v1;
import "google/api/resource.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
option csharp_namespace = "Google.Cloud.Recommender.V1";
option go_package = "google.golang.org/genproto/googleapis/cloud/recommender/v1;recommender";
option java_multiple_files = true;
option java_outer_classname = "InsightProto";
option java_package = "com.google.cloud.recommender.v1";
option objc_class_prefix = "CREC";
option (google.api.resource_definition) = {
type: "recommender.googleapis.com/InsightType"
pattern: "projects/{project}/locations/{location}/insightTypes/{insight_type}"
pattern: "billingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}"
pattern: "folders/{folder}/locations/{location}/insightTypes/{insight_type}"
pattern: "organizations/{organization}/locations/{location}/insightTypes/{insight_type}"
};
// An insight along with the information used to derive the insight. The insight
// may have associated recomendations as well.
message Insight {
option (google.api.resource) = {
type: "recommender.googleapis.com/Insight"
pattern: "projects/{project}/locations/{location}/insightTypes/{insight_type}/insights/{insight}"
pattern: "billingAccounts/{billing_account}/locations/{location}/insightTypes/{insight_type}/insights/{insight}"
pattern: "folders/{folder}/locations/{location}/insightTypes/{insight_type}/insights/{insight}"
pattern: "organizations/{organization}/locations/{location}/insightTypes/{insight_type}/insights/{insight}"
};
// Reference to an associated recommendation.
message RecommendationReference {
// Recommendation resource name, e.g.
// projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/recommendations/[RECOMMENDATION_ID]
string recommendation = 1;
}
// Insight category.
enum Category {
// Unspecified category.
CATEGORY_UNSPECIFIED = 0;
// The insight is related to cost.
COST = 1;
// The insight is related to security.
SECURITY = 2;
// The insight is related to performance.
PERFORMANCE = 3;
// This insight is related to manageability.
MANAGEABILITY = 4;
}
// Name of the insight.
string name = 1;
// Free-form human readable summary in English. The maximum length is 500
// characters.
string description = 2;
// Fully qualified resource names that this insight is targeting.
repeated string target_resources = 9;
// Insight subtype. Insight content schema will be stable for a given subtype.
string insight_subtype = 10;
// A struct of custom fields to explain the insight.
// Example: "grantedPermissionsCount": "1000"
google.protobuf.Struct content = 3;
// Timestamp of the latest data used to generate the insight.
google.protobuf.Timestamp last_refresh_time = 4;
// Observation period that led to the insight. The source data used to
// generate the insight ends at last_refresh_time and begins at
// (last_refresh_time - observation_period).
google.protobuf.Duration observation_period = 5;
// Information state and metadata.
InsightStateInfo state_info = 6;
// Category being targeted by the insight.
Category category = 7;
// Fingerprint of the Insight. Provides optimistic locking when updating
// states.
string etag = 11;
// Recommendations derived from this insight.
repeated RecommendationReference associated_recommendations = 8;
}
// Information related to insight state.
message InsightStateInfo {
// Represents insight state.
enum State {
// Unspecified state.
STATE_UNSPECIFIED = 0;
// Insight is active. Content for ACTIVE insights can be updated by Google.
// ACTIVE insights can be marked DISMISSED OR ACCEPTED.
ACTIVE = 1;
// Some action has been taken based on this insight. Insights become
// accepted when a recommendation derived from the insight has been marked
// CLAIMED, SUCCEEDED, or FAILED. ACTIVE insights can also be marked
// ACCEPTED explicitly. Content for ACCEPTED insights is immutable. ACCEPTED
// insights can only be marked ACCEPTED (which may update state metadata).
ACCEPTED = 2;
// Insight is dismissed. Content for DISMISSED insights can be updated by
// Google. DISMISSED insights can be marked as ACTIVE.
DISMISSED = 3;
}
// Insight state.
State state = 1;
// A map of metadata for the state, provided by user or automations systems.
map<string, string> state_metadata = 2;
}